Как написать функцию, in_array
, которая проверяет, содержит ли указанный массив указанное значение
Функция должна принимать два аргумента:
array_name
- имя массива value
- значение для проверки
С помощью этого тестового жгута:
colors=(red green yellow "royal blue")
test() {
local answer=no
if in_array colors "$1"; then
answer=yes
fi
printf "%-13s %s\n" "$1" "$answer"
}
test red
test green
test "royal blue"
test blue
должен быть получен следующий вывод:
red yes
green yes
royal blue yes
blue no
Редактировать: Суть этого вопроса заключается в том, что функция не должна иметь жестко-зависимую зависимость от массива. Я рассмотрю все функции, которые удовлетворяют этому требованию, и выведет показанный вывод для показанного массива.