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