6
A
回答
1
首先,沒有Math.PI
,它是Math::PI
- 在這種情況下,使用實際工作的那個。
[1] pry(main)> Math.PI
NoMethodError: undefined method `PI' for Math:Module
[2] pry(main)> Math::PI
=> 3.141592653589793
sin
等都是函數,並且可以以任一方式訪問。我用點號,Math.sin(foo)
,因爲它是對眼睛(見仁見智)更容易,類似於如何其他Rails代碼被規範地寫(比如Rails的ActiveRecord findAll
,例如,User.findAll
),我經常是如何大多數其他語言使用做到這一點。
編輯哦,我可能誤解了這個問題。
0
如果我得到你的問題的權利,你所要求的是餘弦返回值的類型。而不是告訴你它是什麼,我寧願告訴你一種方法來自己檢查它。
irb(main):003:0>Math::cos(0.2).class
=> Float
irb(main):004:0> Math::PI.class
=> Float
8
puts Math::PI
#=> 3.141592653589793
include Math
puts PI.class
#=> Float
require "bigdecimal/math"
include BigMath
puts PI(50).class
#=> BigDecimal
puts PI(50)
#=> 0.3141592653589793238462643383279502884197169399375105820974944592309049629352442819E1
0
如果include Math
在你的代碼,那麼你可以這樣寫:
PI
cos(0.12)
您需要前綴Math
只有當不包括Math
。
您是否嘗試過用數學模塊纏寶石?看看math_calculator寶石。這將允許您正常編寫表達式,例如。 「4個* PI * COS(0.12)」 等
5
PI
是恆定屬於Math
模塊。常量是通過::
運營商訪問:
Math::PI
我相信這就是所謂的範圍分辨率操作。它也可以解析爲類方法,所以你絕對可以這樣寫:
Math::sin
點運算符將消息發送到對象,這是說,它調用方法的一個奇特的方式。 PI
是一個常數,所以你不能這樣訪問它。 Math.PI
相當於Math.send :PI
,這是不行的,因爲Math
不respond_to? :PI
。當然,你可以解決這個問題:
def Math.PI
Math::PI
end
Math.PI
隨着method_missing
,你甚至可以使其與任何工作常數:
def Math.method_missing(method, *arguments, &block)
Math.const_get method, *arguments, &block
end
Math.PI
Math.E
相關問題
- 1. ruby中類的類型和超類的區別是什麼?
- 2. ruby中類的名稱的數據類型(類)是什麼?
- 3. 這是什麼Ruby數據類型?
- 4. 在ruby中這是什麼類型的定義:self.class.method
- 5. 在Ruby中,什麼是類AboutClasses?
- 6. ruby中的類變量是什麼
- 7. Ruby中動態類型的優缺點是什麼?
- 8. Ruby源文件中的「VALUE」類型是什麼?
- 9. 是什麼在Ruby中
- 10. 是什麼:upcase在Ruby中
- 11. 是什麼|| =在Ruby中
- 12. 爲什麼在matlab中sin(pi)不準確但是sin(pi/2)是精確的?
- 13. 什麼是?類型?
- 14. Ruby的對象模型是什麼?
- 15. 什麼是「int?」在C#類型中
- 16. 在RPython中靜態類型是什麼?
- 17. 什麼是類型和什麼是類型構造函數scala
- 18. DataGridAutoGeneratingColumnEventArgs.PropertyDescriptor是什麼類型的?
- 19. LetterP的類型是什麼?
- 20. 什麼是setContentView()的類型
- 21. 什麼是MouseEventArgs.X的類型?
- 22. T的類型是什麼?
- 23. 真正的ruby的StringIO類是什麼?
- 24. Ruby中的__varmap__是什麼?
- 25. Ruby中的lambda是什麼?
- 26. ruby中的run_once是什麼?
- 27. Ruby中的「p」是什麼?
- 28. ruby中的`hash`是什麼?
- 29. 什麼是ruby中的TOPLEVEL_BINDING?
- 30. Ruby on Rails,mysql列類型:text,這是什麼類作爲ruby對象?
高興地注意到,儘管數學:: PI可能是浮動,你可以將PI推廣到BigDecimal,指出'type'在Ruby中是可替換的(有嚴格的規則)。 – ChuckCottrill