📄 08 - converting between degrees and radians.rb
字号:
class Numeric def degrees self * Math::PI / 180 endend#---90.degrees # => 1.5707963267949Math::tan(45.degrees) # => 1.0Math::cos(90.degrees) # => 6.12303176911189e-17Math::sin(90.degrees) # => 1.0Math::sin(89.9.degrees) # => 0.999998476913288Math::sin(45.degrees) # => 0.707106781186547Math::cos(45.degrees) # => 0.707106781186548#---require 'rubygems'require 'units/base'class Numeric remove_method(:degrees) # Remove the implementation given in the Solution add_unit_conversions(:angle => { :radians => 1, :degrees => Math::PI/180 }) add_unit_aliases(:angle => { :degrees => [:degree], :radians => [:radian] })end90.degrees # => 90.090.degrees.unit # => :degrees90.degrees.to_radians # => 1.570796326794990.degrees.to_radians.unit # => :radians1.degree.to_radians # => 0.01745329251994331.radian.to_degrees # => 57.2957795130823#---# Don't do this:Math::sin(90.degrees) # => 0.893996663600558# Do this:Math::sin(90.degrees.to_radians) # => 1.0#---class << Math alias old_sin sin def sin(x) old_sin(x.unit == :degrees ? x.to_radians : x) endend90.degrees # => 90.0Math::sin(90.degrees) # => 1.0Math::sin(Math::PI/2.radians) # => 1.0Math::sin(Math::PI/2) # => 1.0#---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -