从最终值创建一系列字符串

发布于 2024-12-07 09:17:59 字数 172 浏览 0 评论 0原文

我用的是irb

我写了下面的代码。
“斧头”..“bc”
我期待
"ax""ay""az""ba"bb""bc"

但结果只是
"ax".."bc"

我应该如何更正? 谢谢。

I use irb.

I write the code below.
"ax".."bc"
I expect
"ax""ay""az""ba"bb""bc"

But the result is just
"ax".."bc"

How should I correct?
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

优雅的叶子 2024-12-14 09:17:59
> puts ("ax".."bc").to_a
ax
ay
az
ba
bb
bc
> puts ("ax".."bc").to_a
ax
ay
az
ba
bb
bc
汐鸠 2024-12-14 09:17:59

范围 'ax' .. 'bc' 确实代表了您期望的值,但直到真正需要时才会生成它们(作为一种节省时间和空间的方法,以防万一您不这样做) t 最终使用每个值)。您可以通过迭代器或转换为数组来访问它们:

r = 'ax' .. 'bc' # => "ax" .. "bc"
r.class # => Range
r.to_a # => ["ax", "ay", "az", "ba", "bb", "bc"]
r.to_a.class # => Array
r.each {|x| puts x}
ax
ay
az
ba
bb
bc

The range 'ax' .. 'bc' does represent the values that you expect but it doesn't generate them until it really needs to (as a way to save time and space in case you don't end up using each value). You can access them all via an interator or conversion to an array:

r = 'ax' .. 'bc' # => "ax" .. "bc"
r.class # => Range
r.to_a # => ["ax", "ay", "az", "ba", "bb", "bc"]
r.to_a.class # => Array
r.each {|x| puts x}
ax
ay
az
ba
bb
bc
若有似无的小暗淡 2024-12-14 09:17:59

Range 是一个内置构造,​​内部存储起点和终点(以及是否是结束范围)以提高效率。所以 IRB 只会向您显示它的字面意思。

你想让我做什么?

Range is a builtin in construct, internally storing start and ending point (and whether it's an end-inclusive range) for efficiency. So IRB will just show you the literal for it.

What do you want to do?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文