Ruby 为什么这三个点写在一条新线上?
在第三行中,在Ruby 为什么这三个点写在一条新线上?,ruby,string,format,Ruby,String,Format,在第三行中,在#{num}块之后的..以新行打印。我的印象是,使用该块就是将参数传递给显示器,从而更容易格式化 为什么点会指向新行?当你在文件中阅读时,你也会看到新行。也许你要找的是: puts "Hello! Reading temperature value from data file..." num = File.read("temp.dat") puts "The number is #{num}..." celsius = num.to_i fahrenheit = (celsius
#{num}
块之后的..
以新行打印。我的印象是,使用该块就是将参数传递给显示器,从而更容易格式化
为什么点会指向新行?当你在文件中阅读时,你也会看到新行。也许你要找的是:
puts "Hello! Reading temperature value from data file..."
num = File.read("temp.dat")
puts "The number is #{num}..."
celsius = num.to_i
fahrenheit = (celsius.to_i * 9 / 5) + 32
puts "The Fahrenheit value is: #{ fahrenheit }."
如果你看一看你正在阅读的内容,可能会有意义:
celsius = File.readlines("temp.dat").first.to_i
puts "The number is #{celsius}..."
假设temp.dat以换行符结尾,
num
包含换行符。要删除换行符,可以使用String#chomp
方法,删除字符串末尾的任何换行符。我猜换行符是从文件中输入的
如果是这样的话
puts num.inspect
# => "20\n"
应该修复它。当您读取文件时,您也在读取文件中的回车/换行符。使用
String#chomp
去除多余的空白:
num=File.read(“temp.dat”).chomp
将“数字为#{num}…”
有关更多信息,请参阅。由于您正在尝试读取整数,因此我知道从文件中读取单个数字的最简单方法是:
puts "The number is #{num.strip}..."
将一直解析到第一个非数字,即“\n”。此时,它将停止读取并仅返回转换为整数的值
这样做可以清理代码并将其简化为:
File.read('temp.dat').to_i
# => 42
一般来说,这不是如何读取文件,它只是对这个特定问题的回答。因为文件
temp.dat
末尾包含换行符?如果您是调试Ruby的新手,您可能需要查看
puts "Hello! Reading temperature value from data file..."
celsius = File.read("temp.dat").to_i
puts "The number is #{ celsius }..."
fahrenheit = (celsius * 9 / 5) + 32
puts "The Fahrenheit value is: #{ fahrenheit }."