Ruby 的 Math 類
除了一些常規(guī)的取余、絕對(duì)值、冪的一些數(shù)字對(duì)象方法,Ruby 提供了大量了數(shù)學(xué)相關(guān)的方法,本章節(jié)為大家介紹提供這些數(shù)學(xué)方法的 Math 類。
1. Math的方法
下面為大家列出來(lái) Math 的各種數(shù)學(xué)方法。
方法 | 時(shí)機(jī)簡(jiǎn)介(調(diào)用的時(shí)機(jī)) |
---|---|
Math.acos, Math.acos! | 反余弦 |
Math.acosh, Math.acosh! | 雙曲反余弦 |
Math.asin, Math.asin! | 反正弦 |
Math.asinh, Math.asinh | 雙曲反正弦 |
Math.atan, Math.atan!, Math.atan2, Math.atan2! | 反正切,atan有一個(gè)參數(shù)x, atan2接收兩個(gè)參數(shù)x和y。 |
Math.atanh, Math.atanh! | 雙曲反正切 |
Math.cos, Math.cos! | 余弦 |
Math.cosh, Math.cosh | 雙曲余弦 |
Math.sin, Math.sin! | 正弦 |
Math.sinh, Math.sinh! | 雙曲正弦 |
Math.tan, Math.tan! | 正切 |
Math.tanh, Math.tanh! | 雙曲正切 |
Math.exp, Math.exp! | 歐拉計(jì)算 |
Math.sqrt, Math.sqrt! | 平方根 |
Match.erfc | 互補(bǔ)誤差函數(shù) |
Math.erf | 誤差函數(shù) |
Math.hypot | 斜邊 |
Math.log10 | 10為底的對(duì)數(shù) |
Math.log2 | 2為底的對(duì)數(shù) |
現(xiàn)在讓我們舉一些常見(jiàn)的運(yùn)算例子。
求16的平方根。
實(shí)例:
p Math.sqrt(16)
# ---- 輸出結(jié)果 ----
4.0
求100以10為底的對(duì)數(shù)。
實(shí)例:
p Math.log10(100)
# ---- 輸出結(jié)果 ----
2.0
求32以2為底的對(duì)數(shù)。
實(shí)例:
p Math.log2(32)
# ---- 輸出結(jié)果 ----
5.0
再舉一個(gè)歐拉函數(shù)的例子。
實(shí)例:
p Math.exp(2)
# ---- 輸出結(jié)果 ----
7.38905609893065
Tips:注意返回值都是Float類型的。
2. Math 的常量
Math 除了擁有許多數(shù)學(xué)方法以外,還有一些常見(jiàn)的數(shù)學(xué)常量。
p Math.constants
# ---- 輸出結(jié)果 ----
[:E, :DomainError, :PI]
在當(dāng)前的 Ruby 版本中一共定義了3個(gè)常量。(不同的 Ruby 版本之間常量列表會(huì)不一樣)
我們最常用的就是 π。調(diào)用方式如下。
p Math::PI
# ---- 輸出結(jié)果 ----
3.14159265358979
還有一個(gè)常量名叫歐拉數(shù)(e),它是數(shù)學(xué)里最重要的數(shù)字之一。調(diào)用方式如下:
p Math::E
# ---- 輸出結(jié)果 ----
2.718281828459045
3. 小結(jié)
本章中我們主要介紹了 Math 類的各種數(shù)學(xué)方法以及Math的數(shù)學(xué)常量,最常見(jiàn)的 π 的為:Math::PI
,以及歐拉數(shù) e 為Math::E
。