为什么我的IO.write在输出结尾处插入一个“%”符号?

时间:2015-04-18 09:21:18

标签: ruby file io

我用这行来读取temp.dat,其中包含" 100"

fahrenheit = IO.read("temp.dat").to_i * 9 / 5 + 32

现在,将此结果写入另一个文件;

方法1

f = File.new("temp.out", "w")
f.puts fahrenheit

cat temp.out

212

方法2

IO.write("temp.out", fahrenheit)

cat temp.out

212%

1 个答案:

答案 0 :(得分:2)

  

为什么我的IO.write在输出结尾处插入一个“%”符号?

没有。这是文件的二进制内容。 %字符是shell的命令提示符,由于文件中缺少EOL而感到困惑。符合POSIX标准的文本文件应始终以行尾字符结尾。

enter image description here