(ми не знайдемо Findабо не будемо ловити tryCatch)
Це частина друга з багатоскладової серії реалізації деяких цікавих функцій R. Частину першу можна знайти тут .
Завдання:
Ви повинні реалізувати функцію Rmatch якомога менше байтів.
Вхід:
x, можливо порожній список / масив цілих чиселtable, можливо порожній список / масив цілих чиселnomatch, єдине ціле значенняincomparables, можливо порожній список / масив цілих чисел
Вихід:
- один масив / список цілих чисел,
Oрівних довжині доx, де кожне значенняO[i]представляє або:- Індекс
jвід першого значення вtableякомуtable[j]==x[i] nomatch, що вказує на те, що жодне значення уtableне дорівнюєx[i]АБО, якеx[i]є у спискуincomparables.
- Індекс
Випробування
All in the form x, table, nomatch, incomparables -> output
outputs
[], [1,2,3], 0, [5] -> []
[1, 2, 3], [], 0, [5] -> [0, 0, 0]
[9, 4, 3, 6, 3], [9, 8, 7, 6, 5, 4, 3, 2, 1], -1, [4] -> [1, -1, 7, 4, 7]
[8, 6, 7, 5, 3, 0, 9], [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6], 1000, [1] -> [12, 8, 14, 5, 1, 1000, 6]
За необхідності можна створити більше тестових випадків.
Додаткові правила:
- R має індекси на основі 1, але послідовні альтернативні індекси прийнятні. Таким чином, ви можете використовувати індекси, які починаються з 3 або 17 або що завгодно, але це повинно бути послідовно, і ви повинні вказати це у своїй відповіді.
- Якщо ви вибрали мову, яка має це вбудована версія, будь ласка, також реалізуйте власне рішення.
- Пояснення цінуються.
Це код-гольф , тому найкоротше рішення в байтах виграє!
4є в incomparables, тому його неможливо зіставити . Якщо ваша мова не може підтримувати негативні цифри, тоді непогано вимагати невід’ємні числа, але вкажіть це припущення у своєму поданні.
make.