如何将splat用作ruby方法参数

时间:2016-11-08 20:27:56

标签: ruby methods splat

我正在研究一种红宝石方法

def test(*)
  puts "hello"
end

我对*感到困惑。显然,如果我运行测试它返回“你好”。但是,如果我将一个参数传递给测试...

test("this argument")

如何在测试方法中调用该方法但仍有splatter?我对于没有名字的泼溅感到非常困惑。它是如何工作的?

1 个答案:

答案 0 :(得分:0)

这篇文章有一个相当详细的低级别解释: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)