我确定这是 Ruby 中的一个基本问题:
有没有办法检查是否
a == b
Run Code Online (Sandbox Code Playgroud)
即使 a 是整数而 b 是字符串?我意识到我可以做到
a.to_s == b.to_s
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有其他更好的方法。
我不确定我是否理解这个问题。如果我确实理解它,我认为您正试图通过口译员滑过一个:
telemachus ~ $ irb
irb(main):001:0> a = 1
=> 1
irb(main):002:0> b = '1'
=> "1"
irb(main):003:0> a == b
=> false
Run Code Online (Sandbox Code Playgroud)
你可以比较1和'1'所有你喜欢,但他们都没有根据的Ruby处理字符串和数字的方式相同。简而言之,Ruby 不是 Perl。(编辑:我应该澄清一下。显然数字 1 与字符串 '1' 不同。所以这不是 Ruby 如何处理它们的真正问题。如果你直接比较它们,它们就是不一样的。我只是意味着 Ruby 不会像 Perl 那样进行自动转换。取决于您来自哪种语言以及您对打字的态度,这会让您感到高兴或惊讶或烦恼或这些的某种组合。)
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |