我知道反向创建一个新字符串,字符串的字符反向,然后反转!将当前字符串变异(反转)到位.我的问题是,为什么,当例如测试回文时,会发生这种情况?:
a = "foobar"
a == a.reverse # => false
a == a.reverse! # => true
Run Code Online (Sandbox Code Playgroud)
是因为它与内存中的对象相同,因此==只检查它们是否具有相同的内存位置?
谢谢!
该String#reverse!方法返回它所调用的字符串
a == a.reverse!
Run Code Online (Sandbox Code Playgroud)
就像说的一样
a.reverse!
a == a
Run Code Online (Sandbox Code Playgroud)
当然a == a是真的.
请注意,至少reverse!对字符串的作用并不重要,重要==的o == o.m是method(m)返回的内容.
| 归档时间: |
|
| 查看次数: |
814 次 |
| 最近记录: |