以下这个例子,只有一个星号,
def test1(*, b)
puts "输出#{b}"
end
test(3, 4, 5) => b = 5,*号参数表示接受一个变长参数,
它会保证b参数,获取一个值,其他全归*这个参数所有。**双星号参数表示一个可选的hash,它只能是最后一个参数,
class A
def initialize(*, b, **x)
puts "输出#{b}"
p x
end
end
class B < A
def initialize(a, b, x2: 44, **x)
super
end
end
a = A.new(3, 5, 7, 8, cc: 88)
b = B.new(4, 5, acc: 88)