казват, че имам
arr = [1,2,3]
Как мога да променя този метод, така че да добавя всеки аргумент към масива?
def add(*number)
arr << *number
end
Така add(4,5,6)
произвежда:
arr #=> [1,2,3,4,5,6]
Отговори:
4 за отговор № 1При приемането на аргументи чрез splat, те ще винаги бъде масив. Така че можете просто да добавите двете масиви заедно.
def add(*numbers)
arr + numbers
end
2 за отговор № 2
употреба concat
:
def add(*nums)
arr.concat nums
end
Или +
:
def add(*nums)
arr + nums
end
0 за отговор № 3
$arr = [1,2,3]
def add(*number)
$arr.concat number
end
add(4,5,6)
$arr #=> [1,2,3,4,5,6]
Забележка: concat
модифицира обекта, върху който работи ($arr
). Плюс (+
) не.
Както казва Тин Човекът, не искате да използвате глобално, за да направите това. По-добре е просто да го направите
arr.concat [4,5,6]
извън функционалното повикване. По-добре още:
arr += [4,5,6]