将变量更改为字符串

时间:2014-01-08 17:24:52

标签: ruby string variables

请参阅以下代码(摘自Learning Ruby一书):

def timer(start)
  puts "Minutes: " + start.to_s
  start_time = Time.now
  puts start_time.strftime("Start time: %I:%M:%S: %p")
  start.downto(1) { |i| sleep 60 }
  end_time = Time.now
  print end_time.strftime("Elapsed time: %I:%M:%S: %p\n")
end

timer 10

为什么需要将start变量更改为置位线上的字符串?例如,我不能简单地放入puts "Minutes: #{start}"

另外,start.downto(1)行:块{|i| sleep 60}是否指定每分钟应该有多少秒?

1 个答案:

答案 0 :(得分:2)

是的,你也可以说:

puts "Mintues: #{start}"

这是许多不错的Ruby选择之一。 :)在这种情况下,它没有太大的区别。

关于循环:

start.downto(1) { |i| sleep 60 }

是的,这会将分钟计算到1,每次都在睡60秒。所以它将睡眠start分钟。如果start不是太大,您可以使用sleep 60*start