Ruby 的文档将方法签名显示为:
start_with?([prefixes]+) → true or false
这对我来说看起来像一个数组,但事实并非如此。您可以将单个字符串或各种字符串作为参数传递,如下所示:
"hello".start_with?("heaven", "hell") #=> true
如何将数组作为参数列表传递?以下不起作用:
"hello".start_with?(["heaven", "hell"])
括号是可选的文档约定,因此括号中的
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