gpt4 book ai didi

ruby-on-rails - string.chars.length 与 string.length

转载 作者:行者123 更新时间:2023-12-04 06:26:48 24 4
gpt4 key购买 nike

我正在从 Rails 2.1.2 迁移到 2.3.5 并且不再起作用的项目之一是

"string".chars.length

我使用控制台发现 "string".chars 是 2.1.2 中的 ActiveSupport 方法和 2.3.5 中的 Enumerable

因此,在完成此迁移时,我想知道使用
"string".chars.length

对比
"string".length

他们会返回同样的东西吗?他们似乎,我只是想知道你是否知道区别以便我学习?

谢谢

最佳答案

如果您使用的是 #chars方法,因为您正在处理 unicode 字符串,那么您可以使用 #mb_chars相反,这可能是保证代码行为与 2.1.2 中完全相同的最佳选择:

"string".mb_chars.length
=> 6

但是,如果您使用的是 Ruby 1.9,或者您使用的是 Ruby 1.8 但不需要处理任何 unicode 字符串,则可以使用 "string".length . (在 Ruby 1.9 中, #mbchars 只会返回 self,因为 1.9 对 unicode 字符串有更好的支持。)

the API documentation了解更多信息。

关于ruby-on-rails - string.chars.length 与 string.length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5807511/

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