<分区>
我在看一个 ruby 方法
def test(*)
puts "hello"
end
我对 *.显然,如果我运行测试,它会返回“hello”。但是,如果我将参数传递给测试会怎样...
test("this argument")
如何在测试方法中调用该方法但仍然有飞溅?我只是对有一个没有名字的飞溅物感到非常困惑。它是如何工作的?
<分区>
我在看一个 ruby 方法
def test(*)
puts "hello"
end
我对 *.显然,如果我运行测试,它会返回“hello”。但是,如果我将参数传递给测试会怎样...
test("this argument")
如何在测试方法中调用该方法但仍然有飞溅?我只是对有一个没有名字的飞溅物感到非常困惑。它是如何工作的?
最佳答案
这篇文章有相当详细的底层解释:http://blog.honeybadger.io/ruby-splat-array-manipulation-destructuring/
引用最相关的部分:
def go(x, *args, y)
puts x # => 1
puts y # => 5
puts args.inspect # => [2,3,4]
end
go(1, 2, 3, 4, 5)
关于ruby - 如何使用 splat 作为 ruby 方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40495812/