如何将数字user.id表示为一个字符串:

  • 如果user.id在0到9范围内,则向左填充00

    # => "00#{user.id}"

  • 如果user.id在10到99之间,则填充0

    # => "0#{user.id}"

  • 除此之外什么都没有

    # => "#{user.id}"

例如,有user.id = 1个,它将产生"001"个,有user.id = 11个,它将产生"011"个,有user.id = 111个,它将产生"111"个.

推荐答案

puts 1.to_s.rjust(3, "0")
#=> 001
puts 10.to_s.rjust(3, "0")
#=> 010
puts 100.to_s.rjust(3, "0")
#=> 100

上面的代码将转换您的用户.将id转换为字符串,然后转换为字符串.RayTube()方法将考虑其长度和前缀适当的零点数.

Ruby相关问答推荐

Ruby 中无法解释的撬动行为

Ruby 的 .() 运算符是如何工作的?

ri 和 rdoc 有什么区别

Rubymine - 启用行号

Rspec:应该是(this or that)

我在哪里可以找到积极开发的 Ruby lint 工具?

如何使用 RSpec 忽略或跳过测试方法?

Ruby on Rails 中是否有简写 if(没有 else)语句?

VCRProxy:在 Capybara 内使用 VCR 记录 PhantomJS ajax 调用

Ruby 的 File.open 给出没有这样的文件或目录 - text.txt (Errno::ENOENT)错误

object_id 分配如何工作?

如何在 ruby​​ 中针对正则表达式测试整个字符串?

与 String 相比,在 Ruby 中使用 StringIO 有哪些优势?

如何设置方法测试中使用的私有实例变量?

. vs ::(点与双冒号)用于调用方法

如何将哈希键转换为方法名称?

创建一个接受参数散列的 ruby​​ 方法

如何在 Ruby 中向异常消息中添加信息?

为什么这个 Ruby 对象同时具有 to_s 和 inspect 似乎做同样事情的方法?

Ruby 中的 each 和 collect 方法有什么不同