foo(a, b, c: 1, :d => true) a.b() foo (b), a foo(&block) foo(*a) foo(**b)