尝试实现“Math”库时出错

时间:2017-09-14 18:25:38

标签: ruby sublimetext3

Sublime Text 3在“require”中抛出一个错误:当我试图使用Math.sqrt(x)方法时,无法加载这样的文件 - Math。

    /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in 
`require': cannot load such file -- Math (LoadError)
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in 
`require'
    from /home/damian/Pulpit/tibia.rb:1:in `<main>'

和我的代码:

require 'Math'

def square_digits(num)
num = num.to_s.each_char.map(&:to_i).Math.sqrt(num)**2
return num

end

puts square_digits(91)

任何建议如何解决这个问题?没有这个我就无法继续

1 个答案:

答案 0 :(得分:0)

你像这样使用数学:

Math::sqrt(99)
=> 9.9498743710662

numbers = [0, 64, 273]
numbers.map{|num| Math.sqrt(num)}
=> [0.0, 8.0, 16.522711641858304]

在您的情况下,Math.sqrt(num.to_i)**2 (或.to_f就足够了。