るりまサーチ (Ruby 3.0.0)

最速Rubyリファレンスマニュアル検索!
82件ヒット [1-82件を表示] (0.082秒)

別のキーワード

  1. math log
  2. math sqrt
  3. _builtin math
  4. bigdecimal/math e
  5. bigdecimal/math pi

検索結果

Math (114055.0)

浮動小数点演算をサポートするモジュールです。

浮動小数点演算をサポートするモジュールです。

Math モジュールにはさまざま数学関数がモジュール関数として定義されています。
モジュール関数は以下のように,モジュールの特異メソッドとして呼び出す使い方と、
モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。

=== 例

//emlist[][ruby]{
pi = Math.atan2(1, 1)*4;
include Math
pi2 = atan2(1, 1)*4
//}

Math.#log(x) -> Float (63127.0)

x の対数を返します。

x の対数を返します。

引数 x, b の両方に 0 を指定した場合は Float::NAN を返します。

@param x 正の実数を指定します。

@param b 底を指定します。省略した場合は自然対数を計算します。

@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。

@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。

@raise DomainError 引数のどちらかに負の数を指定した場合に発生します。

//emlist[例][ruby]{
Math.log(0) # =>...

Math.#log(x, b) -> Float (63127.0)

x の対数を返します。

x の対数を返します。

引数 x, b の両方に 0 を指定した場合は Float::NAN を返します。

@param x 正の実数を指定します。

@param b 底を指定します。省略した場合は自然対数を計算します。

@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。

@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。

@raise DomainError 引数のどちらかに負の数を指定した場合に発生します。

//emlist[例][ruby]{
Math.log(0) # =>...

Math.#log2(x) -> Float (63091.0)

2 を底とする x の対数 (binary logarithm) を返します。

2 を底とする x の対数 (binary logarithm) を返します。

@param x 正の実数

@raise TypeError xに数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError xに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.log2(1) # => 0.0
Math.log2(2) # => 1.0
Math.log2(32768) # => 15.0
Math.log2(...

Math.#log10(x) -> Float (63073.0)

x の常用対数を返します。

x の常用対数を返します。

@param x 正の実数

@raise TypeError xに数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError xに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.log10(1) # => 0.0
Math.log10(10) # => 1.0
Math.log10(10**100) # => 100.0
//}

絞り込み条件を変える

Math.#acos(x) -> Float (63055.0)

x の逆余弦関数の値をラジアンで返します。

x の逆余弦関数の値をラジアンで返します。

@param x -1.0 <= x <= 1 の範囲内の実数

@return 返される値の範囲は [0, +π] です。

@raise TypeError x に数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.acos(0) == Math::PI/2 # => true
//}

Math.#asin(x) -> Float (63055.0)

x の逆正弦関数の値をラジアンで返します。

x の逆正弦関数の値をラジアンで返します。

@param x -1.0 <= x <= 1 の範囲内の実数

@return 返される値の範囲は[-π/2, +π/2] です。

@raise TypeError x に数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.asin(1) == Math::PI/2 # => true
//}

Math.#exp(x) -> Float (63055.0)

x の指数関数の値を返します。

x の指数関数の値を返します。

すなわち e の x 乗の値を返します( e は自然対数の底)。

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.exp(0) # => 1.0
Math.exp(1) # => 2.718281828459045
Math.exp(1.5) # => 4.4816890703380645
//}

@see exp(3)

Math.#lgamma(x) -> [Float, Integer] (63055.0)

log(|gamma(x)|) と、gamma(x) の符号を返します。

log(|gamma(x)|) と、gamma(x) の符号を返します。

符号は +1 もしくは -1 で返されます。

@param x 実数

@raise TypeError xに数値以外を指定した場合に発生します。

@raise Math::DomainError x に -∞ を渡した場合に発生します。

@raise RangeError xに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.lgamma(0) # => [Infinity, 1]
//}

@see Math.#gamma

Math.#sqrt(x) -> Float (63055.0)

x の平方根を返します。

x の平方根を返します。

@param x 正の実数

@raise TypeError xに数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError xに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
0.upto(10) {|x|
p [x, Math.sqrt(x), Math.sqrt(x)**2]
}
# => [0, 0.0, 0.0]
# [1, 1.0, 1.0]
# [2, 1.4142135623731, ...

絞り込み条件を変える

Math.#atan2(y, x) -> Float (63037.0)

y / x の逆正接関数の値を返します。

y / x の逆正接関数の値を返します。

@param y 実数
@param x 実数

@return 返される値の範囲は [-π, π] です。


//emlist[例][ruby]{
Math.atan2(1,0) #=> 1.5707963267949
Math.atan2(-1,0) #=> -1.5707963267949
//}

@raise TypeError y, x に数値以外を指定した場合に発生します。

@raise RangeError y, x に実数以外の数値を指定した場合に発生します。

Math.#cbrt(x) -> Float (63037.0)

x の立方根を返します。

x の立方根を返します。

@param x 実数

@raise TypeError xに数値以外を指定した場合に発生します。

@raise RangeError xに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
-9.upto(9) {|x|
p [x, Math.cbrt(x), Math.cbrt(x)**3]
}
# => [-9, -2.0800838230519, -9.0]
# [-8, -2.0, -8.0]
# [-7, -1.91293118277239, -7.0]
# [-6, -1.8171205928321...

Math.#cos(x) -> Float (63037.0)

x の余弦関数の値を返します。

x の余弦関数の値を返します。

@param x 実数(ラジアンで与えます)

@return [-1, 1] の実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.cos(Math::PI) # => -1.0
//}

Math.#gamma(x) -> Float (63037.0)

x のガンマ関数の値を返します。

x のガンマ関数の値を返します。

@param x 実数

@raise TypeError xに数値以外を指定した場合に発生します。

@raise Math::DomainError x に負の整数、もしくは -∞ を渡した場合に発生します。

@raise RangeError xに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
def fact(n) (1..n).inject(1) {|r,i| r*i } end
1.upto(26) {|i| p [i, Math.gamma(i), fact(i-1)] }
# => [1, 1.0, 1...

Math.#ldexp(x, exp) -> Float (63037.0)

実数 x に 2 の exp 乗をかけた数を返します。

実数 x に 2 の exp 乗をかけた数を返します。

@param x 実数
@param exp 整数。小数点以下切捨て。

@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。

@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
fraction, exponent = Math.frexp(1234)
Math.ldexp(fraction, exponent) # => 1234.0
//}

絞り込み条件を変える

Math.#sin(x) -> Float (63037.0)

x の正弦関数の値を返します。

x の正弦関数の値を返します。

@param x 実数(ラジアンで与えます)

@return [-1, 1] の実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.sin(Math::PI/2) # => 1.0
//}

Math.#acosh(x) -> Float (63019.0)

x の逆双曲線余弦関数の値を返します。

x の逆双曲線余弦関数の値を返します。

=== 定義

acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1]

@param x x >= 1 の範囲の実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

Math.#atan(x) -> Float (63019.0)

x の逆正接関数の値をラジアンで返します。

x の逆正接関数の値をラジアンで返します。

@param x 実数

@return 返される値の範囲は [-π/2, +π/2] です。

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.atan(0) # => 0.0
//}

Math.#atanh(x) -> Float (63019.0)

x の逆双曲線正接関数の値を返します。

x の逆双曲線正接関数の値を返します。

=== 定義

atanh(x) = log((1+x)/(1-x)) / 2 [-1 < x < 1]

@param x -1 < x < 1 の実数

@return 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise Math::DomainError x に範囲外の実数を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

Math.#erf(x) -> Float (63019.0)

x の誤差関数の値を返します。

x の誤差関数の値を返します。

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.erf(0) # => 0.0
//}

絞り込み条件を変える

Math.#erfc(x) -> Float (63019.0)

x の相補誤差関数の値を返します。

x の相補誤差関数の値を返します。

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.erfc(0) # => 1.0
//}

Math.#frexp(x) -> [Float, Integer] (63019.0)

実数 x の仮数部と指数部の配列を返します。

実数 x の仮数部と指数部の配列を返します。

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
fraction, exponent = Math.frexp(1234) # => [0.6025390625, 11]
fraction * 2**exponent # => 1234.0
//}

Math.#hypot(x, y) -> Float (63019.0)

sqrt(x*x + y*y) を返します。

sqrt(x*x + y*y) を返します。

この値は x, y を直交する 2 辺とする直角三角形の斜辺(hypotenuse)の長さです。

@param x 実数
@param y 実数

@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。

@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.hypot(3, 4) #=> 5.0
//}

Math.#tan(x) -> Float (63019.0)

x の正接関数の値を返します。

x の正接関数の値を返します。

@param x 実数(ラジアンで与えます)

@return 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

//emlist[例][ruby]{
Math.tan(0) # => 0.0
//}

Math::E -> Float (63019.0)

自然対数の底

自然対数の底

//emlist[例][ruby]{
p Math::E
# => 2.718281828
//}

絞り込み条件を変える

Math::PI -> Float (63019.0)

円周率

円周率

//emlist[例][ruby]{
p Math::PI
# => 3.141592654
//}

Math.#asinh(x) -> Float (63001.0)

x の逆双曲線正弦関数の値を返します。

x の逆双曲線正弦関数の値を返します。

=== 定義

asinh(x) = log(x + sqrt(x * x + 1))

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

Math.#cosh(x) -> Float (63001.0)

x の双曲線余弦関数の値を返します。

x の双曲線余弦関数の値を返します。

=== 定義

cosh(x) = (exp(x) + exp(-x)) / 2

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

Math.#sinh(x) -> Float (63001.0)

x の双曲線正弦関数の値を返します。

x の双曲線正弦関数の値を返します。

=== 定義

sinh(x) = (exp(x) - exp(-x)) / 2

@param x 実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

Math.#tanh(x) -> Float (63001.0)

x の双曲線正接関数の値を返します。

x の双曲線正接関数の値を返します。

=== 定義

tanh(x) = sinh(x) / cosh(x)

@param x 実数

@return [-1, 1] の範囲の実数

@raise TypeError x に数値以外を指定した場合に発生します。

@raise RangeError x に実数以外の数値を指定した場合に発生します。

絞り込み条件を変える

bigdecimal/math (18019.0)

BigDecimalを使った数学的な機能を提供します。

BigDecimalを使った数学的な機能を提供します。

以下の計算が行えます。

* sqrt(x, prec)
* sin (x, prec)
* cos (x, prec)
* atan(x, prec)
* PI (prec)
* E (prec)

引数:

: x

計算対象の BigDecimal オブジェクト。

: prec

計算結果の精度。

//emlist[例][ruby]{
require "bigdecimal"
require "bigdecimal/math"

include BigMath

a = BigDecimal((PI(...

BigMath (18001.0)

BigDecimalを使った数学的な機能を提供するモジュールです。

BigDecimalを使った数学的な機能を提供するモジュールです。

Math::DomainError (9049.0)

数学関数(module Math のモジュール関数)で与えた引数が定義域 に含まれていない場合に発生します。

数学関数(module Math のモジュール関数)で与えた引数が定義域
に含まれていない場合に発生します。

BigMath.#log(x, prec) -> BigDecimal (9037.0)

x の自然対数を prec で指定した精度で計算します。

x の自然対数を prec で指定した精度で計算します。

x に無限大を指定した場合は無限大を返します。NaN を指定した場合には NaN
を返します。

@param x 計算対象の数値を Integer、Float、
Rational、BigDecimal オブジェクトのいずれかで指定
します。

@param prec 計算結果の精度を指定します。

@raise Math::DomainError x に 0 以下の数値か Complex オブジェクト
が指定された場合に発生します。

@rais...

BigMath.#E(prec) -> BigDecimal (9019.0)

自然対数の底 e を prec で指定した精度で計算します。

自然対数の底 e を prec で指定した精度で計算します。

@param prec 計算結果の精度。

@raise ArgumentError prec に 0 以下が指定された場合に発生します。

//emlist[][ruby]{
require "bigdecimal/math"

puts BigMath::E(2) #=> 0.27e1
puts BigMath::E(4) #=> 0.2718e1
puts BigMath::E(10) #=> 0.2718281828e1
//}

絞り込み条件を変える

BigMath.#PI(prec) -> BigDecimal (9019.0)

円周率を prec で指定した精度で計算します。

円周率を prec で指定した精度で計算します。

@param prec 計算結果の精度。

@raise ArgumentError prec に 0 以下が指定された場合に発生します。

//emlist[][ruby]{
require "bigdecimal/math"

puts BigMath::PI(2) #=> 0.31415926535897932384671233672993238432e1
puts BigMath::PI(5) #=> 0.31415926535897932384627534923029509162e1
puts BigMath::PI(10) ...

BigMath.#atan(x, prec) -> BigDecimal (9019.0)

x の逆正接関数を prec で指定した精度で計算します。単位はラジアンです。 x に無限大や NaN を指定した場合には NaN を返します。

x の逆正接関数を prec で指定した精度で計算します。単位はラジアンです。
x に無限大や NaN を指定した場合には NaN を返します。

@param x 計算対象の BigDecimal オブジェクト。単位はラジアン。

@param prec 計算結果の精度。

@raise ArgumentError x の絶対値が1以上の場合に発生します。

@raise ArgumentError prec に 0 以下が指定された場合に発生します。

//emlist[][ruby]{
require "bigdecimal/math"

puts BigMath::atan(BigD...

BigMath.#cos(x, prec) -> BigDecimal (9019.0)

x の余弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。

x の余弦関数を prec で指定した精度で計算します。単位はラジアンです。x
に無限大や NaN を指定した場合には NaN を返します。

@param x 計算対象の BigDecimal オブジェクト。単位はラジアン。

@param prec 計算結果の精度。

@raise ArgumentError prec に 0 以下が指定された場合に発生します。

//emlist[][ruby]{
require "bigdecimal/math"

puts BigMath::cos(BigDecimal('0.5'), 10) #=> 0.877582561890372716116...

BigMath.#exp(x, prec) -> BigDecimal (9019.0)

x の指数関数を prec で指定した精度で計算します。

x の指数関数を prec で指定した精度で計算します。

x に正の無限大を指定した場合は正の無限大を返します。負の無限大を指定し
た場合には 0 を返します。NaN を指定した場合には NaNを返します。

@param x 計算対象の数値を Integer、BigDecimal、
Float、Rationalオブジェクトのいずれかで指定します。

@param prec 計算結果の精度を指定します。

@raise ArgumentError x に Integer、BigDecimal、
Float、Rational以外のオ...

BigMath.#sin(x, prec) -> BigDecimal (9019.0)

x の正弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。

x の正弦関数を prec で指定した精度で計算します。単位はラジアンです。x
に無限大や NaN を指定した場合には NaN を返します。

@param x 計算対象の BigDecimal オブジェクト。単位はラジアン。

@param prec 計算結果の精度。

@raise ArgumentError prec に 0 以下が指定された場合に発生します。

//emlist[][ruby]{
require "bigdecimal/math"

puts BigMath::sin(BigDecimal('0.5'), 10) #=> 0.479425538604203000273...

絞り込み条件を変える

BigMath.#sqrt(x, prec) -> BigDecimal (9019.0)

x の平方根を prec で指定した精度で計算します。

x の平方根を prec で指定した精度で計算します。

@param x 平方根を求める数。

@param prec 計算結果の精度。

@raise FloatDomainError x に 0 以下、もしくは NaN が指定された場合に発生します。

@raise ArgumentError prec に 0 未満が指定された場合に発生します。

//emlist[][ruby]{
require "bigdecimal/math"

puts BigMath::sqrt(BigDecimal('2'), 10) #=> 0.1414213562373095048666666667e...

1.6.8から1.8.0への変更点(まとめ) (379.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

Numeric#angle -> 0 | Math::PI (358.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#arg

Numeric#arg -> 0 | Math::PI (358.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#arg

Numeric#phase -> 0 | Math::PI (358.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#arg

絞り込み条件を変える

ruby 1.6 feature (109.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

== 1.6.8 (2002-12-24) -> stable-snapshot

: 2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...

Integer.sqrt(n) -> Integer (73.0)

非負整数 n の整数の平方根を返します。すなわち n の平方根以下の 最大の非負整数を返します。

非負整数 n の整数の平方根を返します。すなわち n の平方根以下の
最大の非負整数を返します。

@param n 非負整数。Integer ではない場合は、最初に Integer に変換されます。
@raise Math::DomainError n が負の整数の時に発生します。

//emlist[][ruby]{
Integer.sqrt(0) # => 0
Integer.sqrt(1) # => 1
Integer.sqrt(24) # => 4
Integer.sqrt(25) # => 5
Integer.sqrt(10**...

NEWS for Ruby 2.2.0 (73.0)

NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.1.0 以降の変更

=== 言語仕様の変更

* nil/true/false
* nil/true/false はフリーズされました 8923

* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと...

bigdecimal (73.0)

bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。

bigdecimal は浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。

//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456789e6
//}

一般的な 10 進数の計算でも有用です。2 進数の浮動小数点演算には微小な誤
差があるのに対し、BigDecimal では正確な値を得る事がで...

Integer#digits -> [Integer] (55.0)

base を基数として self を位取り記数法で表記した数値を配列で返します。 base を指定しない場合の基数は 10 です。

base を基数として self を位取り記数法で表記した数値を配列で返します。
base を指定しない場合の基数は 10 です。

16.digits # => [6, 1]
16.digits(16) # => [0, 1]

self は非負整数でなければいけません。非負整数でない場合は、Math::DomainErrorが発生します。

-10.digits # Math::DomainError: out of domain が発生

@return 位取り記数法で表した時の数値の配列
@param base 基数となる数値。
@raise ArgumentEr...

絞り込み条件を変える

Integer#digits(base) -> [Integer] (55.0)

base を基数として self を位取り記数法で表記した数値を配列で返します。 base を指定しない場合の基数は 10 です。

base を基数として self を位取り記数法で表記した数値を配列で返します。
base を指定しない場合の基数は 10 です。

16.digits # => [6, 1]
16.digits(16) # => [0, 1]

self は非負整数でなければいけません。非負整数でない場合は、Math::DomainErrorが発生します。

-10.digits # Math::DomainError: out of domain が発生

@return 位取り記数法で表した時の数値の配列
@param base 基数となる数値。
@raise ArgumentEr...

Float#angle -> 0 | Float (49.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

ただし、自身が NaN(Not a number) であった場合は、NaN を返します。

Float#arg -> 0 | Float (49.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

ただし、自身が NaN(Not a number) であった場合は、NaN を返します。

Float#phase -> 0 | Float (49.0)

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。

//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}

ただし、自身が NaN(Not a number) であった場合は、NaN を返します。

Numeric#polar -> [Numeric, Numeric] (49.0)

自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数な ら [-self, Math::PI] を返します。

自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数な
ら [-self, Math::PI] を返します。

//emlist[例][ruby]{
1.0.polar # => [1.0, 0]
2.0.polar # => [2.0, 0]
-1.0.polar # => [1.0, 3.141592653589793]
-2.0.polar # => [2.0, 3.141592653589793]
//}

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

@see Complex#polar

絞り込み条件を変える

Float (37.0)

浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環 境に依存します。

浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環
境に依存します。

一般にはせいぜい15桁です。詳しくは多くのシステムで採用されている
浮動小数点標準規格、IEEE (Institute of Electrical and
Electronics Engineers: 米国電気電子技術者協会) 754 を参照してください。

//emlist[あるシステムでの 1/3(=0.333...) の結果][ruby]{
printf("%.50f\n", 1.0/3)
# => 0.3333333333333333148296162562473909929...

Module#include(*mod) -> self (37.0)

モジュール mod をインクルードします。

モジュール mod をインクルードします。

@param mod Module のインスタンス( Enumerable など)を指定します。

@raise ArgumentError 継承関係が循環してしまうような include を行った場合に発生します。

module M
end
module M2
include M
end
module M
include M2
end

実行結果:

-:3:in `append_features': cyclic include detected (ArgumentError)
...

Ruby用語集 (37.0)

Ruby用語集 A B C D E F G I J M N O R S Y

Ruby用語集
A B C D E F G I J M N O R S Y

a ka sa ta na ha ma ya ra wa

=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。

参照:d:spec/literal#percent

: 0 オリジン
: zero-based
番号が 0 から始まること。

例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。

: 1 オリジン
: one-based
...

ruby 1.9 feature (37.0)

ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。

ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。

記号について(特に重要なものは大文字(主観))

* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ...

Complex#angle -> Float (19.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#arg -> Float (19.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 (19.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.polar(r, theta = 0) -> Complex (19.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)
//...

Enumerable#max_by -> Enumerator (19.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

Enumerable#max_by {|item| ... } -> object | nil (19.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

絞り込み条件を変える

Enumerable#max_by(n) -> Enumerator (19.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

Enumerable#max_by(n) {|item| ... } -> Array (19.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

Float#round(ndigits = 0) -> Integer | Float (19.0)

自身ともっとも近い整数もしくは実数を返します。

自身ともっとも近い整数もしくは実数を返します。

中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。
いわゆる四捨五入ですが、偶数丸めではありません。

@param ndigits 丸める位を指定します。
ndigitsが0ならば、小数点以下を四捨五入し、整数を返します。
ndigitsが0より大きいならば、小数点以下の指定された位で四捨五入されます。
ndigitsが0より小さいならば、小数点以上の指定された位で四捨五入されます。
@param half ちょうど半分の値の丸め方を指定します。
サポートされている...

Float#round(ndigits = 0, half: :up) -> Integer | Float (19.0)

自身ともっとも近い整数もしくは実数を返します。

自身ともっとも近い整数もしくは実数を返します。

中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。
いわゆる四捨五入ですが、偶数丸めではありません。

@param ndigits 丸める位を指定します。
ndigitsが0ならば、小数点以下を四捨五入し、整数を返します。
ndigitsが0より大きいならば、小数点以下の指定された位で四捨五入されます。
ndigitsが0より小さいならば、小数点以上の指定された位で四捨五入されます。
@param half ちょうど半分の値の丸め方を指定します。
サポートされている...

IRB::ContextExtender.install_extend_commands -> object (19.0)

定義済みの拡張を読み込みます。

定義済みの拡張を読み込みます。

IRB::Context で以下のメソッドが利用できるようになります。

* eval_history=
* use_tracer=
* math_mode=
* use_loader=
* save_history=

irb/extend-command が require された時にライブラリ内部で自動的
に実行されます。

@see IRB::ContextExtender.def_extend_command

絞り込み条件を変える

Kernel.#printf(format, *arg) -> nil (19.0)

C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。

C 言語の printf と同じように、format に従い引数を文字列に変
換して port に出力します。

port を省略した場合は標準出力 $stdout に出力します。

引数を 1 つも指定しなければ何もしません。

Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。

@param port 出力先になるIO のサブクラスのインスタンスです。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@raise ArgumentError port を指定したのに ...

Kernel.#printf(port, format, *arg) -> nil (19.0)

C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。

C 言語の printf と同じように、format に従い引数を文字列に変
換して port に出力します。

port を省略した場合は標準出力 $stdout に出力します。

引数を 1 つも指定しなければ何もしません。

Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。

@param port 出力先になるIO のサブクラスのインスタンスです。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@raise ArgumentError port を指定したのに ...

Marshal フォーマット (19.0)

Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。

Marshal フォーマット
フォーマットバージョン 4.8 を元に記述しています。

=== nil, true, false

それぞれ、'0', 'T', 'F' になります。

//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}

Ruby 2.1 以前では、インスタンス変数を設定しても dump されません...

Module#module_function(*name) -> self (19.0)

メソッドをモジュール関数にします。

メソッドをモジュール関数にします。

引数が与えられた時には、
引数で指定されたメソッドをモジュール関数にします。
引数なしのときは今後このモジュール定義文内で
新しく定義されるメソッドをすべてモジュール関数にします。

モジュール関数とは、プライベートメソッドであると同時に
モジュールの特異メソッドでもあるようなメソッドです。
例えば Math モジュールのメソッドはすべてモジュール関数です。

self を返します。

@param name String または Symbol を 0 個以上指定します。

=== 注意
module_function はメソッドに「モジュール関数」とい...

NEWS for Ruby 2.4.0 (19.0)

NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.4.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.3.0 以降の変更

=== 言語仕様の変更

* 条件式での多重代入ができるようになりました 10617
* Symbol#to_proc でメソッド呼び出し元での Refinements が有効になりました 9451
* Ob...

絞り込み条件を変える

Rake::FileList#include(*filenames) -> self (19.0)

ファイル名のパターンを追加リストに登録します。 配列が与えられた場合、配列の各要素が追加されます。

ファイル名のパターンを追加リストに登録します。
配列が与えられた場合、配列の各要素が追加されます。

@param filenames 追加するファイル名のパターンを指定します。

例:
file_list.include("*.java", "*.cfg")
file_list.include %w( math.c lib.h *.o )

Random (19.0)

MT19937に基づく疑似乱数生成器を提供するクラスです。

MT19937に基づく疑似乱数生成器を提供するクラスです。

=== 参考
オリジナル版 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html

Range#bsearch -> Enumerator (19.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。

本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。

* find-minimum モード
* find-any モード

find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。

* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要...

Range#bsearch {|obj| ... } -> object | nil (19.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。

本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。

* find-minimum モード
* find-any モード

find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。

* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要...

Vector#angle_with(v) -> Float (19.0)

v と self がなす角度を返します。

v と self がなす角度を返します。

//emlist[例][ruby]{
require 'matrix'
Vector[1, 0].angle_with(Vector[0, 1]) # => Math::PI/2
//}

@param v このベクトルと self とがなす角度を計算します
@raise ZeroVectorError self もしくは v のどちらかが零ベクトルである場合に
発生します
@raise ExceptionForMatrix::ErrDimensionMismatch v と self の
ベクトルの次元が異なる場合に発...

絞り込み条件を変える

main.include(*modules) -> self (19.0)

引数 modules で指定したモジュールを後ろから順番にインクルードします。

引数 modules で指定したモジュールを後ろから順番にインクルードします。

@param modules Module のインスタンス( Enumerable など)を指定します。

@raise ArgumentError 継承関係が循環してしまうような include を行った場
合に発生します。

//emlist[例:][ruby]{
include Math

hypot(3, 4) # => 5.0
//}

@see Module#include

メソッド呼び出し(super・ブロック付き・yield) (19.0)

メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg

メソッド呼び出し(super・ブロック付き・yield)
* super
* block
* yield
* block_arg

例:

foo.bar()
foo.bar
bar()
print "hello world\n"
print
Class.new
Class::new

文法:

[式 `.'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
[式 `::'...