ruby 中字符串前面的 * 有何作用?
这段代码似乎创建了一个范围从 a 到 z 的数组,但我不明白 *
的作用。有人可以解释一下吗?
[*"a".."z"]
This code seems to create an array with a range from a to z but I don't understand what the *
does. Can someone please explain?
[*"a".."z"]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它称为 splat 运算符。
It's called splat operator.
splat 运算符将范围扩展为数组。
The splat operator expands the range into an array.
呵呵,有趣的事实。当您这样做时:
您会收到错误。
在这种情况下,splat 操作符需要一个接收器才能工作。因此,不要仅仅在没有接收器的情况下尝试它,从而欺骗自己认为它在 irb 中损坏了。
Huh, fun fact. When you do this:
you get an error.
The splat operator, in this case, requires a receiver in order to work. So don't fool yourself into thinking its broken in irb by just trying it without a receiver.