三角関数 / メソッド一覧

三角関数はMathモジュールで関数として定義されています。

p Math::PI                              #=> 3.14159265358979
x = rand
p Math.cos(x) ** 2 + Math.sin(x) ** 2   #=> 1.0

では一覧を出してみましょう。

require 'pp'

pp Math.singleton_methods.sort

実行結果です。

["acos",
 "acosh",
 "asin",
 "asinh",
 "atan",
 "atan2",
 "atanh",
 "cos",
 "cosh",
 "erf",
 "erfc",
 "exp",
 "frexp",
 "hypot",
 "ldexp",
 "log",
 "log10",
 "sin",
 "sinh",
 "sqrt",
 "tan",
 "tanh"]

なるほど…あれ?なぜsin!がないんだろう。ri Mathでやるとsin!やcos!が出てくるのに。…と思ってri sin!を実行したら、Alias for #sinと表示されました。Aliasはsingleton_methodsでは出てこないんだ。ふうん。
疑問:aliasも含めたメソッド一覧を得ることはできるのだろうか?