Ruby . , , . , Ruby , , , , , ( 4 ). .
, , , , , 4, .
1: , (.. / , ).
2: , , , n n+m, n - m - .
3: splatted .
4: a , , , , a.
Ruby , , .
, Ruby .
def meth(w,x)
[w,x]
end
meth 1,2
.
def meth(w,x,*y,z)
[w,x,y,z]
end
meth 1,2,3,4,5,6
meth 1,2,3
w z , x .
def meth(w,x=1,y,z)
[w,x,y,z]
end
meth 1,2,3,4
meth 1,2,3
w z - , y .
, Ruby , ( ).
def meth(*x,y,*z)
[x,y,z]
end
.
def meth(w,x=1,y,*z)
[w,x,y,z]
end
Ruby , x , , y, *z.
, () , () , .
№ 1.
def meth(w,x,y=3,z)
[w,x,y,z]
end
meth 1,2,3,4
meth 1,2,3
meth 1,2
meth 1,2,3,4,5
№ 2.
, , , Ruby , ( / ).
:
def meth(*w,*x)
end
def meth(*w,x=1)
end
№ 3.
, splatted, .
def meth(w=1,x=2,*y)
[w,x,y]
end
meth
meth 3
meth 3,4
meth 3,4,5
meth 3,4,5,6
def meth(w=1,x=2)
[w,x]
end
meth
meth 3
meth 3,4
, , , . , .
4.
, - def meth(w=1,*x) / def meth(w=1,x=2), , .
( ), ( ), . , .