Ruby下一个多个

ste*_*iel 0 ruby loops next

还有另一种写作方式'a'.next.next吗?我看了一遍,似乎无法找到它.

我已经尝试过倍增,.next但我不断收到错误.

bry*_*mck 5

嗯,这可能不是一个好主意,但是如果你想要将方法链接一般n次,你可以这样做:

2.times.inject('a') { |s| s.next }
# => 'c'

20.times.inject('a') { |s| s.next }
# => 'u'
Run Code Online (Sandbox Code Playgroud)

这从值开始'a',运行一个调用的块next,然后将每个连续的结果反馈到块中.

对于它的价值,猴子修补String对于琐碎的脚本来说可能没什么问题,但我个人首先尝试寻找其他解决方案,比如只为你的类/模块添加一个实用程序函数:

def repeat_next(str, n = 1)
  n.times.inject(str) { |s| s.next }
end
Run Code Online (Sandbox Code Playgroud)

(a.ord + 2).chr可能存在特定问题的快捷方式,尽管它不是同一个问题.