【发布时间】:2021-09-15 20:34:32
【问题描述】:
我有一个file.txt,每行都有一个浮点值:
23.45
12.01
15
900.6543
我想获得这些值的平均值,所以我阅读了它们的文本。这是我的script.rb:
#!/usr/bin/ruby
require 'bigdecimal'
require 'bigdecimal/util'
array = IO.readlines 'file.txt'
array.map(&:to_f)
numerator = array.reduce(0) { |a, v| a + v }
denominator = array.count
mean = numerator.to_f / denominator.to_f
puts mean
ruby script.rb 出现以下错误:
Traceback (most recent call last):
4: from list2.rb:7:in `<main>'
3: from list2.rb:7:in `reduce'
2: from list2.rb:7:in `each'
1: from list2.rb:7:in `block in <main>'
list2.rb:7:in `+': String can't be coerced into Integer (TypeError)
有什么建议吗?
【问题讨论】:
标签: arrays ruby-on-rails ruby math