require 'pp'
p *1..10
Run Code Online (Sandbox Code Playgroud)
这打印出1-10.为什么这么简洁?还有什么可以用呢?
sri*_*ris 13
它是"splat"运算符.它可用于在分配期间爆炸数组和范围并收集值.
这里收集了作业中的值:
a, *b = 1,2,3,4
=> a = 1
b = [2,3,4]
Run Code Online (Sandbox Code Playgroud)
在此示例中,内部数组([3,4]一个)中的值被展开并收集到包含的数组中:
a = [1,2, *[3,4]]
=> a = [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
您可以定义将参数收集到数组中的函数:
def foo(*args)
p args
end
foo(1,2,"three",4)
=> [1,2,"three",4]
Run Code Online (Sandbox Code Playgroud)