S
Size: a a a
S
MY
S
def task(a, b):
print(a + b)
tasks = [
(task, 1, 2),
(task, 3, 4)
]
for t, n, q in tasks:
t(n, q)
S
S
tasks = [
(Proc.new { |params| task params }, 1, 2),
(Proc.new { |params| task params }, 3, 4)
]
tasks.each { |t,n,q| t.call n, q
}S
S
SD
task *paramsS
SD
|*params|S
SD
t.call [n, q]S
SD
t.call [n, q]*S
Proc.new { |*params| task *params } - первый раз используя * забирается массивом все переданное в Proc, а * в вызове функции распаковывает этот массив в параметрыS
S