require 'pp'
p *1..10
这打印出 1-10。为什么这么简洁?你还能用它做什么?
它是“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]
好:
require pp
导入漂亮的打印功能p
是一个带有可变参数的漂亮打印方法,它漂亮地打印每个参数*
表示“将参数扩展为可变参数”,而不是将其视为单个参数这是否充分解释了它?如果不是,请详细说明哪一点令人困惑。