Ruby Math.radians

xpe*_*int 3 ruby math

我需要Math.radians()函数,但找不到它.

radians=(angle/180)* Math::PI
Run Code Online (Sandbox Code Playgroud)

Tre*_*oke 11

你可能想在lib /目录中创建一个名为"mymath.rb"的文件,以及猴子补丁Math,如下所示:

require 'mathn'
module Math
  def self.to_rad angle
    angle/180 * Math::PI
  end
end
Run Code Online (Sandbox Code Playgroud)

或者你可以做@MBO在评论中说的话.链接似乎已经关闭,但谷歌档案产生了这个信息丰富的小句子,这表明解决方案可能比我的更清洁(虽然我更喜欢将数学内容保存在数学中):

最简单的解决方案是在Numeric中定义一个转换方法,将多个度数转换为弧度.

需要注意的是,Ruby 2.0有一个名为"Refinement"的功能,它基本上可以让你进行本地猴子修补.它以这种方式工作(从这篇博文中解除:

module RadiansConversion
  refine Math do
    def to_rad angle
      angle/180 * Math::PI
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

然后....它可以在另一个模块或类似的东西中使用.

module MyApp
  using RadiansConversion

  p Math.to_rad 180   #=> 3.14159265358979
  p Math.to_rad 235   #=> 4.10152374218667
end
Run Code Online (Sandbox Code Playgroud)