require 'pp'
p *1..10
这打印出1-10。为什么这么简洁?还有什么可以用呢?
答案 0 :(得分:13)
这是“splat”运算符。它可用于在分配期间爆炸数组和范围并收集值。
此处收集作业中的值:
a, *b = 1,2,3,4
=> a = 1
b = [2,3,4]
在此示例中,内部数组([3,4]
之一)中的值被展开并收集到包含的数组中:
a = [1,2, *[3,4]]
=> a = [1,2,3,4]
您可以定义将参数收集到数组中的函数:
def foo(*args)
p args
end
foo(1,2,"three",4)
=> [1,2,"three",4]
答案 1 :(得分:8)
好:
require pp
导入漂亮的打印功能p
是一个使用varargs的漂亮打印方法,可以打印每个参数*
表示“将参数扩展为 varargs”而不是将其视为单个参数这是否足以解释它?如果没有,请详细说明哪一点令人困惑。