ruby - 反转整数数字

标签 ruby

我试图反转整数的数字:123456 => 654321,我能想到的最佳解决方案是 123456.to_s.reverse.to_i。我觉得这是太多的代码。有人有比这更好的方法吗?

最佳答案

这是一个非常“代码高尔夫”式的答案,而不是我建议用真实代码编写的东西...

但是您可以使用以下方法从答案中删除一个额外的字符:

123456.to_s.reverse.to_i
123456.digits.join.to_i

或者(同样,仅作为“代码高尔夫”答案!!)如果您很高兴以 String 而不是 Integer 结束,您可以使这个更均匀的分拣机:

123456.digits*''  #=> "654321"

事实上,转换为字符串可能实际上更可取,因为它可以防止丢失信息丢失零。抛开代码高尔夫答案,比较:

43210.to_s.reverse #=> "01234"
43210.to_s.reverse.to_i #=> 1234

关于ruby - 反转整数数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20489436/

相关文章:

ruby - 什么是 :+ and &:+ in Ruby?

ruby - 规范化不同格式的原始文本以在 Ruby 中创建对象

Ruby:在一行中分配并检查是否为 nil

ruby - MSpec 库的原因是什么?

java - 在 Jruby 中访问 .jar 内的 java 类

ruby - 何时在 Ruby 中使用关键字参数或命名参数

Ruby - 欧拉计划 #18 - 最大路径总和

ruby-on-rails - 如何使用 Apache 和乘客服务 Rails Web 应用程序

ruby-on-rails - Rails 3,导入前检查 CSV 文件编码

ruby-on-rails - Bundler 正在使用为不同的 gem 创建的 binstub。