ライブラリ
- ビルトイン (54)
- cmath (5)
-
json
/ add / complex (1) - matrix (2)
-
rdoc
/ parser / ruby (1) -
ripper
/ lexer (5)
クラス
- Complex (41)
- Matrix (2)
- NilClass (1)
- Numeric (4)
- Ripper (1)
-
Ripper
:: Lexer (3) - SignalException (5)
- String (1)
キーワード
- * (1)
- ** (1)
- + (1)
- - (1)
- -@ (1)
-
/ (1) - == (1)
- Complex (3)
- Lexer (1)
- RubyLex (1)
- abs (1)
- abs2 (1)
- angle (1)
- arg (1)
- cbrt (1)
- coerce (1)
- conj (1)
- conjugate (1)
- denominator (1)
- exp (1)
- fdiv (2)
- finite? (1)
- i (1)
- imag (1)
- imaginary (1)
- infinite? (1)
- inspect (1)
-
irb
/ ruby-lex (1) -
irb
/ slex (1) -
json
/ add / complex (1) -
lex
_ getline (1) - log (2)
- magnitude (1)
- new (3)
- numerator (1)
- parse (1)
- phase (1)
- polar (2)
- quo (2)
- rationalize (2)
- real (1)
- real? (1)
- rect (2)
- rectangular (2)
-
ripper
/ lexer (1) - signm (1)
- signo (1)
- sqrt (1)
-
to
_ c (4) -
to
_ f (1) -
to
_ i (1) -
to
_ json (1) -
to
_ r (1) -
to
_ s (1) - tokenize (1)
- tr (1)
- trace (1)
- 字句構造 (1)
検索結果
先頭5件
-
Ripper
:: Lexer # lex -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (91270.0) -
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
ライブラリ内部で使用します。 Ripper.lex を使用してください。 -
Ripper
. lex(src , filename = & # 39;-& # 39; , lineno = 1) -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (73324.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
Ruby プログラム str をトークンに分割し、そのリストを返します。
ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
pp Ripper.lex("def m(a) nil end"... -
irb
/ ruby-lex (54049.0) -
Ruby のソースコードを字句解析するためのサブライブラリです。
Ruby のソースコードを字句解析するためのサブライブラリです。
このライブラリで定義されているメソッドはユーザが直接使用するものではありません。 -
ripper
/ lexer (54049.0) -
Ruby プログラムをトークンのリストとして処理するためのライブラリです。
Ruby プログラムをトークンのリストとして処理するためのライブラリです。 -
RDoc
:: RubyLex (54001.0) -
ライブラリの内部で使用します。
ライブラリの内部で使用します。 -
Ripper
:: Lexer (45049.0) -
Ruby プログラムの字句解析器です。
Ruby プログラムの字句解析器です。 -
Kernel
. # Complex(r , i = 0 , exception: true) -> Complex | nil (37537.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@param exception false を指定すると、変換できなかった場合、
例外を発生する代わりに nil を返します。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (... -
Kernel
. # Complex(s , exception: true) -> Complex | nil (37537.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@param exception false を指定すると、変換できなかった場合、
例外を発生する代わりに nil を返します。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (... -
static VALUE lex
_ getline(void) (36745.0) -
関数 lex_gets を使って lex_input から Ruby プログラムを一行読みこみます。
関数 lex_gets を使って lex_input から
Ruby プログラムを一行読みこみます。 -
Ripper
:: Lexer # parse -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (36697.0) -
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た だし Ripper::Lexer#lex と違い、結果をソートしません。
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た
だし Ripper::Lexer#lex と違い、結果をソートしません。
ライブラリ内部で使用します。 -
Ripper
:: Lexer # tokenize -> [String] (36349.0) -
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
ライブラリ内部で使用します。 Ripper.tokenize を使用してください。 -
irb
/ slex (36145.0) -
Ruby のソースコードを字句解析するためのサブライブラリです。 irb/ruby-lex から使用されます。
Ruby のソースコードを字句解析するためのサブライブラリです。
irb/ruby-lex から使用されます。
このライブラリで定義されているメソッドはユーザが直接使用するものではありません。 -
json
/ add / complex (36049.0) -
Complex に JSON 形式の文字列に変換するメソッドや JSON 形式の文字列から Ruby のオブジェクトに変換するメソッドを定義します。
Complex に JSON 形式の文字列に変換するメソッドや JSON 形式の文字列から Ruby のオブジェクトに変換するメソッドを定義します。 -
Complex (36037.0)
-
複素数を扱うクラスです。
複素数を扱うクラスです。
Complex オブジェクトを作成するには、Kernel.#Complex、
Complex.rect、Complex.polar、Numeric#to_c、
String#to_c のいずれかを使用します。
//emlist[Complex オブジェクトの作り方][ruby]{
Complex(1) # => (1+0i)
Complex(2, 3) # => (2+3i)
Complex.polar(2, 3) # => (-1.9799849932008908+0.2822400161197344i)
Complex(0.... -
Complex
# coerce(other) -> [Complex , Complex] (28219.0) -
other を Complex に変換して [変換後の other, self] の配列を返します。
other を Complex に変換して [変換後の other, self] の配列を返します。
@raise TypeError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1).coerce(2) # => [(2+0i), (1+0i)]
//} -
SignalException
. new(sig _ name) -> SignalException (27637.0) -
引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。
引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。
引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。
@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ
かで指定します。
@param sig_number シグナル番号を指定します。整数以外のオブジェクトを指
定した場合は to_int メソッドによる暗黙の型変換を試み
ます。
//emlist[例][rub... -
SignalException
. new(sig _ number) -> SignalException (27637.0) -
引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。
引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。
引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。
@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ
かで指定します。
@param sig_number シグナル番号を指定します。整数以外のオブジェクトを指
定した場合は to_int メソッドによる暗黙の型変換を試み
ます。
//emlist[例][rub... -
SignalException
. new(sig _ number , sig _ name) -> SignalException (27637.0) -
引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。
引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。
引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。
@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ
かで指定します。
@param sig_number シグナル番号を指定します。整数以外のオブジェクトを指
定した場合は to_int メソッドによる暗黙の型変換を試み
ます。
//emlist[例][rub... -
Complex
# conjugate -> Complex (27619.0) -
自身の共役複素数を返します。
自身の共役複素数を返します。
//emlist[例][ruby]{
Complex(1, 2).conj # => (1-2i)
//} -
Complex
# numerator -> Complex (27619.0) -
分子を返します。
分子を返します。
//emlist[例][ruby]{
Complex('1/2+2/3i').numerator # => (3+4i)
Complex(3).numerator # => (3+0i)
//}
@see Complex#denominator -
Complex
. rect(r , i = 0) -> Complex (27619.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
//emlist[例][ruby]{
Complex.rect(1) # => (1+0i)
Complex.rect(1, 2) # => (1+2i)
Complex.rectangular(1, 2) # => (1+2i)
//}
@see Kernel.#Complex -
Complex
. rectangular(r , i = 0) -> Complex (27619.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
//emlist[例][ruby]{
Complex.rect(1) # => (1+0i)
Complex.rect(1, 2) # => (1+2i)
Complex.rectangular(1, 2) # => (1+2i)
//}
@see Kernel.#Complex -
Complex
# angle -> Float (27337.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# phase -> Float (27337.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# denominator -> Integer (27319.0) -
分母を返します。
分母を返します。
以下のように、実部と虚部の分母の最小公倍数を整数で返します。
1 2 3+4i <- numerator(分子)
- + -i -> ----
2 3 6 <- denominator(分母)
//emlist[例][ruby]{
Complex('1/2+2/3i').denominator # => 6
Complex(3).numerator # => 1
//}
@see Complex#numerator -
Complex
# finite? -> bool (27319.0) -
実部と虚部の両方が有限値の場合に true を、そうでない場合に false を返します。
実部と虚部の両方が有限値の場合に true を、そうでない場合に false を返します。
//emlist[例][ruby]{
(1 + 1i).finite? # => true
(Float::INFINITY + 1i).finite? # => false
//}
@see Complex#infinite? -
Complex
# infinite? -> nil | 1 (27319.0) -
実部と虚部のどちらも無限大ではない場合に nil を、そうでない場合に 1 を返します。
実部と虚部のどちらも無限大ではない場合に nil を、そうでない場合に 1 を返します。
//emlist[例][ruby]{
(1+1i).infinite? # => nil
(Float::INFINITY + 1i).infinite? # => 1
//}
@see Complex#finite? -
Complex
# inspect -> String (27319.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
//emlist[例][ruby]{
Complex(2).inspect # => "(2+0i)"
Complex('-8/6').inspect # => "((-4/3)+0i)"
Complex('1/2i').inspect # => "(0+(1/2)*i)"
Complex(0, Float::INFINITY).inspect # => "(0+Infinity*i)"
Complex(Float:... -
Complex
# magnitude -> Numeric (27319.0) -
自身の絶対値を返します。
自身の絶対値を返します。
以下の計算の結果を Float オブジェクトで返します。
sqrt(self.real ** 2 + self.imag ** 2)
//emlist[例][ruby]{
Complex(1, 2).abs # => 2.23606797749979
Complex(3, 4).abs # => 5.0
Complex('1/2', '1/2').abs # => 0.7071067811865476
//}
@see Complex#abs2 -
Complex
# rationalize -> Rational (27319.0) -
自身を Rational に変換します。
自身を Rational に変換します。
@param eps 許容する誤差。常に無視されます。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//} -
Complex
# rationalize(eps) -> Rational (27319.0) -
自身を Rational に変換します。
自身を Rational に変換します。
@param eps 許容する誤差。常に無視されます。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//} -
Complex
# real -> Numeric (27319.0) -
自身の実部を返します。
自身の実部を返します。
//emlist[例][ruby]{
Complex(3, 2).real # => 3
//} -
Complex
# real? -> false (27319.0) -
常に false を返します。
常に false を返します。
//emlist[例][ruby]{
(2+3i).real? # => false
(2+0i).real? # => false
//}
@see Numeric#real? -
Complex
# rect -> [Numeric , Numeric] (27319.0) -
実部と虚部を配列にして返します。
実部と虚部を配列にして返します。
//emlist[例][ruby]{
Complex(3).rect # => [3, 0]
Complex(3.5).rect # => [3.5, 0]
Complex(3, 2).rect # => [3, 2]
//}
@see Numeric#rect -
Complex
# rectangular -> [Numeric , Numeric] (27319.0) -
実部と虚部を配列にして返します。
実部と虚部を配列にして返します。
//emlist[例][ruby]{
Complex(3).rect # => [3, 0]
Complex(3.5).rect # => [3.5, 0]
Complex(3, 2).rect # => [3, 2]
//}
@see Numeric#rect -
CMath
. # exp(z) -> Float | Complex (19021.0) -
z の指数関数(Math::E の z 乗)の値を返します。
z の指数関数(Math::E の z 乗)の値を返します。
@param z Math::E を z 乗する数を指定します。
@raise TypeError z に数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.exp(Complex(0, 0))# => (1.0+0.0i)
CMath.exp(Complex(0, Math::PI)) # => (-1.0+1.2246063538223773e-16i)
CMath.exp(Complex(0, Math::PI / 2.0)) # => (6.1230... -
Complex
. polar(r , theta = 0) -> Complex (18637.0) -
絶対値が r、偏角が theta である Complex クラスのオブジェクトを生成します。
絶対値が r、偏角が theta である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の絶対値。
@param theta 生成する複素数の偏角。単位はラジアンです。省略した場合は 0 です。
//emlist[例][ruby]{
Complex.polar(2.0) # => (2.0+0.0i)
Complex.polar(2.0, 0) # => (2.0+0.0i)
Complex.polar(2.0, Math::PI) # => (-2.0+2.4492127076447545e-16i)
//... -
Complex
# *(other) -> Complex (18619.0) -
積を計算します。
積を計算します。
@param other 自身に掛ける数
//emlist[例][ruby]{
Complex(1, 2) * 2 # => (2+4i)
Complex(1, 2) * Complex(2, 3) # => (-4+7i)
Complex(1, 2) * Rational(1, 2) # => ((1/2)+(1/1)*i)
//} -
Complex
# **(other) -> Complex (18619.0) -
冪(べき)乗を計算します。
冪(べき)乗を計算します。
@param other 自身を other 乗する数
//emlist[例][ruby]{
Complex('i') ** 2 # => (-1+0i)
//} -
Complex
# +(other) -> Complex (18619.0) -
和を計算します。
和を計算します。
@param other 自身に足す数
//emlist[例][ruby]{
Complex(1, 2) + Complex(2, 3) # => (3+5i)
//} -
Complex
# -(other) -> Complex (18619.0) -
差を計算します。
差を計算します。
@param other 自身から引く数
//emlist[例][ruby]{
Complex(1, 2) - Complex(2, 3) # => (-1-1i)
//} -
Complex
# -@ -> Complex (18619.0) -
自身の符号を反転させたものを返します。
自身の符号を反転させたものを返します。
//emlist[例][ruby]{
-Complex(1) # => (-1+0i)
-Complex(-1, 1) # => (1-1i)
//} -
Complex
# / (other) -> Complex (18619.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(10.0) / 3 # => (3.3333333333333335+(0/1)*i)
Complex(10) / 3 # => ((10/3)+(0/1)*i)
//}
@see Numeric#quo -
Complex
# conj -> Complex (18619.0) -
自身の共役複素数を返します。
自身の共役複素数を返します。
//emlist[例][ruby]{
Complex(1, 2).conj # => (1-2i)
//} -
Complex
# fdiv(other) -> Complex (18619.0) -
self を other で割った商を返します。 実部と虚部が共に Float の値になります。
self を other で割った商を返します。
実部と虚部が共に Float の値になります。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(11, 22).fdiv(3) # => (3.6666666666666665+7.333333333333333i)
Complex(11, 22).quo(3) # => ((11/3)+(22/3)*i)
//}
@see Complex#quo -
Complex
# polar -> [Numeric , Numeric] (18619.0) -
自身の絶対値と偏角を配列にして返します。
自身の絶対値と偏角を配列にして返します。
//emlist[例][ruby]{
Complex.polar(1, 2).polar # => [1, 2]
//}
@see Numeric#polar -
Complex
# quo(other) -> Complex (18619.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(10.0) / 3 # => (3.3333333333333335+(0/1)*i)
Complex(10) / 3 # => ((10/3)+(0/1)*i)
//}
@see Numeric#quo -
SignalException
# signo -> Integer (18355.0) -
self のシグナル番号を返します。
self のシグナル番号を返します。
//emlist[例][ruby]{
p Signal.signame(1) # => "HUP"
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
p e.signo # => 1
end
//} -
Complex
# ==(other) -> bool (18319.0) -
数値として等しいか判定します。
数値として等しいか判定します。
@param other 自身と比較する数値
//emlist[例][ruby]{
Complex(2, 1) == Complex(1) # => false
Complex(1, 0) == Complex(1) # => true
Complex(1, 0) == 1 # => true
//} -
Complex
# abs -> Numeric (18319.0) -
自身の絶対値を返します。
自身の絶対値を返します。
以下の計算の結果を Float オブジェクトで返します。
sqrt(self.real ** 2 + self.imag ** 2)
//emlist[例][ruby]{
Complex(1, 2).abs # => 2.23606797749979
Complex(3, 4).abs # => 5.0
Complex('1/2', '1/2').abs # => 0.7071067811865476
//}
@see Complex#abs2 -
Complex
# abs2 -> Numeric (18319.0) -
自身の絶対値の 2 乗を返します。
自身の絶対値の 2 乗を返します。
以下の計算の結果を返します。
self.real ** 2 + self.imag ** 2
//emlist[例][ruby]{
Complex(1, 1).abs2 # => 2
Complex(1.0, 1.0).abs2 # => 2.0
Complex('1/2', '1/2').abs2 # => (1/2)
//}
@see Complex#abs -
Complex
# imag -> Numeric (18319.0) -
自身の虚部を返します。
自身の虚部を返します。
//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}
@see Numeric#imag -
Complex
# imaginary -> Numeric (18319.0) -
自身の虚部を返します。
自身の虚部を返します。
//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}
@see Numeric#imag -
Complex
# to _ c -> self (18319.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
Complex(2).to_c # => (2+0i)
Complex(-8, 6).to_c # => (-8+6i)
//} -
Complex
# to _ i -> Integer (18319.0) -
自身を整数に変換します。
自身を整数に変換します。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_i # => 3
Complex(3.5).to_i # => 3
Complex(3, 2).to_i # => RangeError
//} -
字句構造 (18091.0)
-
字句構造 * identifier * comment * embed * reserved
字句構造
* identifier
* comment
* embed
* reserved
Rubyの現在の実装はASCIIキャラクタセットを用いています。アル
ファベットの大文字と小文字は区別されます。識別子と一部のリテ
ラルの途中を除いては任意の場所に空白文字やコメントを置くこと
ができます。空白文字とはスペース、タブ、垂直タブ、バックスペー
ス、キャリッジリターン、ラインフィード、改ページです。改行は行が明らかに次の
行に継続する時だけ、空白文字として、それ以外では文の区切りと
して解釈されます。
改行と認識されるのは、キャリッジリターン+ラインフィードかラインフ... -
SignalException
# signm -> String (18055.0) -
self.message のエイリアスです。
self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//} -
Complex
# arg -> Float (18037.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# to _ f -> Float (18019.0) -
自身を Float に変換します。
自身を Float に変換します。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_f # => 3.0
Complex(3.5).to_f # => 3.5
Complex(3, 2).to_f # => RangeError
//} -
Complex
# to _ json(*args) -> String (18019.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/complex'
Complex(2, 3).to_json # => "{\"json_class\":\"Complex\",\"r\":2,\"i\":3}"
//}
@see JSON::Generator::GeneratorMethods::Hash... -
Complex
# to _ r -> Rational (18019.0) -
自身を Rational に変換します。
自身を Rational に変換します。
@param eps 許容する誤差。常に無視されます。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//} -
Complex
# to _ s -> String (18019.0) -
自身を "実部 + 虚部i" 形式の文字列にして返します。
自身を "実部 + 虚部i" 形式の文字列にして返します。
//emlist[例][ruby]{
Complex(2).to_s # => "2+0i"
Complex('-8/6').to_s # => "-4/3+0i"
Complex('1/2i').to_s # => "0+1/2i"
Complex(0, Float::INFINITY).to_s # => "0+Infinity*i"
Complex(Float::NAN, Float::NAN).to_s... -
Matrix
# trace -> Integer | Float | Rational | Complex (9619.0) -
トレース (trace) を返します。
トレース (trace) を返します。
行列のトレース (trace) とは、対角要素の和です。
//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}
trace は正方行列でのみ定義されます。
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します -
Numeric
# fdiv(other) -> Float | Complex (9619.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.fdiv(3) #=> 0.3333333333333333
Complex(1, 1).fdiv 1 #=> (1.0+1.0i)
1.fdiv Complex(1, 1) #=> (0.5-0.5i)
//}
@see Num... -
Numeric
# i -> Complex (9619.0) -
Complex(0, self) を返します。
Complex(0, self) を返します。
ただし、Complex オブジェクトでは利用できません。
//emlist[例][ruby]{
10.i # => (0+10i)
-10.i # => (0-10i)
(0.1).i # => (0+0.1i)
Rational(1, 2).i # => (0+(1/2)*i)
//} -
Numeric
# quo(other) -> Rational | Float | Complex (9619.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3)... -
Numeric
# to _ c -> Complex (9619.0) -
自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。
自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。
//emlist[例][ruby]{
1.to_c # => (1+0i)
-1.to_c # => (-1+0i)
1.0.to_c # => (1.0+0i)
Rational(1, 2).to_c # => ((1/2)+0i)
//}
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。 -
String
# to _ c -> Complex (691.0) -
自身を複素数 (Complex) に変換した結果を返します。
自身を複素数 (Complex) に変換した結果を返します。
以下の形式を解析できます。i、j は大文字、小文字のどちらでも解析できます。
* 実部+虚部i
* 実部+虚部j
* 絶対値@偏角
それぞれの数値は以下のいずれかの形式で指定します。先頭の空白文字や複素
数値の後にある文字列は無視されます。また、数値オブジェクトと同様に各桁
の間に「_」を入れる事ができます。
* "1/3" のような分数の形式
* "0.3" のような10進数の形式
* "0.3E0" のような x.xEn の形式
自身が解析できない値であった場合は 0+0i を返します。
//emlis... -
CMath
. # cbrt(z) -> Float | Complex (619.0) -
z の立方根の内、主値を返します。
z の立方根の内、主値を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.cbrt(-8)# => (1.0000000000000002+1.7320508075688772i)
//}
@see Complex#** -
CMath
. # log(z) -> Float | Complex (619.0) -
z の対数を返します。
z の対数を返します。
@param z 真数を指定します。
@param b 底を指定します。省略した場合は自然対数を計算します。
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.log(Complex(0, 0)) # => -Infinity+0.0i
CMath.log(0) # => -Infinity
//} -
CMath
. # log(z , b) -> Float | Complex (619.0) -
z の対数を返します。
z の対数を返します。
@param z 真数を指定します。
@param b 底を指定します。省略した場合は自然対数を計算します。
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.log(Complex(0, 0)) # => -Infinity+0.0i
CMath.log(0) # => -Infinity
//} -
CMath
. # sqrt(z) -> Float | Complex (619.0) -
z の平方根を返します。
z の平方根を返します。
@param z 数値
@raise TypeError z に数値以外を指定した場合に発生します。
//emlist[例][ruby]{
require "cmath"
CMath.sqrt(-1) # => (0+1.0i)
CMath.sqrt(1)# => 1.0
CMath.sqrt(Complex(0, 8))# => (2.0+2.0i)
//} -
Matrix
# tr -> Integer | Float | Rational | Complex (619.0) -
トレース (trace) を返します。
トレース (trace) を返します。
行列のトレース (trace) とは、対角要素の和です。
//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}
trace は正方行列でのみ定義されます。
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します -
NilClass
# to _ c -> Complex (619.0) -
0+0i を返します。
0+0i を返します。
//emlist[例][ruby]{
nil.to_c # => (0+0i)
//}