Поскольку вы пытаетесь прочитать целое число, я знаю, что самый простой способ прочитать одно число из файла:
File.read('temp.dat').to_i
# => 42
to_i
будет анализироваться до тех пор, покапервая не цифра, которая будет "\ n".В этот момент он прекратит чтение и вернет только значение, преобразованное в целое число.
Это позволяет очистить код и уменьшить его до:
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 }."
Это НЕКак читать файл в целом, это просто ответ на этот конкретный вопрос.