1

Ruby 的文档将方法签名显示为:

start_with?([prefixes]+) → true or false

这对我来说看起来像一个数组,但事实并非如此。您可以将单个字符串或各种字符串作为参数传递,如下所示:

"hello".start_with?("heaven", "hell")     #=> true

如何将数组作为参数列表传递?以下不起作用:

"hello".start_with?(["heaven", "hell"])
4

1 回答 1

7

括号是可选的文档约定,因此括号中的

start_with?([prefixes]+) → true or false

只是说你可以start_with?用零个或多个跟注prefixes。这是文档中的常见约定,您会在jQuery文档、Backbone文档、MDN JavaScript文档以及几乎任何其他软件文档中看到它。

如果您有一个要与 一起使用的前缀数组start_with?,那么您可以将数组分解为这样:

a = %w[heaven hell]
'hello'.start_with?(*a)           # true
a = %w[where is]
'pancakes house?'.start_with?(*a) # false
于 2013-04-28T03:19:20.540 回答