> 来添加它们呢? ? >> "Hello" >> "World" NoMethodError-6ren">
gpt4 book ai didi

ruby - 为什么不 >> 在 Ruby 中添加字符串?

转载 作者:数据小太阳 更新时间:2023-10-29 06:32:42 26 4
gpt4 key购买 nike

在 ruby​​ 中,您可以使用 << 附加字符串:

>> "Hello" << "World"
=> "HelloWorld"

那么为什么你不能使用 >> 来添加它们呢? ?

>> "Hello" >> "World"
NoMethodError: undefined method `>>' for "Hello":String

我意识到 String没有 >>方法已定义,但背后的原因是什么?

最佳答案

Ruby 1.9.3 添加了一个 String#prepend 方法。

关于添加 prepend[1] 的提案还包括“>>”方法,并且在线程上有一些关于该实现的讨论 [2]:

Matz says: " >> is interesting notation did not think about it."

sorya says: "This patch is out it had been discussed several times towards the IRC"

然而在线程的末尾,结论是接受 String#prepend,并且“其他提案包括 String # >> 正在等待中。”

虽然我找不到关于它的任何其他讨论......还有其他人吗?

就我个人而言,我喜欢它,添加起来很简单:

class String
def >> (s)
s.prepend(self)
end
end

结果:

>> "Hello" >> "World"
=> "HelloWorld"

[1] http://bugs.ruby-lang.org/issues/3675

[2] http://translate.google.com/translate?hl=en&sl=ja&tl=en&u=http%3A%2F%2Fbugs.ruby-lang.org%2Fissues%2F3675

关于ruby - 为什么不 >> 在 Ruby 中添加字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5459392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com