種類
ライブラリ
- ビルトイン (183)
- benchmark (12)
- bigdecimal (7)
-
bigdecimal
/ newton (1) -
bigdecimal
/ util (2) - csv (3)
- fiddle (5)
- json (6)
- matrix (20)
-
net
/ http (1) - objspace (1)
- optparse (12)
- securerandom (1)
- set (1)
- stringio (1)
-
webrick
/ httpserver (1) - win32ole (4)
クラス
-
Benchmark
:: Tms (11) - BigDecimal (3)
- CSV (2)
- Complex (11)
- Enumerator (3)
-
Enumerator
:: Chain (1) -
Enumerator
:: Lazy (7) -
Fiddle
:: Function (2) - Float (59)
- Integer (7)
- Matrix (12)
-
Matrix
:: EigenvalueDecomposition (1) -
Net
:: HTTP (1) - NilClass (1)
- Numeric (17)
- Object (1)
- OptionParser (12)
-
Process
:: Tms (4) - Random (6)
- Range (5)
- Rational (8)
- Set (1)
- String (6)
- StringIO (1)
- Time (9)
- Vector (7)
-
WEBrick
:: HTTPServer (1) -
WIN32OLE
_ TYPELIB (2) -
WIN32OLE
_ VARIANT (2)
モジュール
- Benchmark (1)
- BigMath (2)
- Enumerable (1)
- Fiddle (3)
-
GC
:: Profiler (1) - JSON (3)
-
JSON
:: Generator :: GeneratorMethods :: Float (1) - Kernel (7)
- Math (29)
- Newton (1)
- ObjectSpace (1)
- Process (1)
- SecureRandom (1)
キーワード
- % (2)
- * (3)
- ** (3)
- + (3)
- - (5)
- -@ (2)
-
/ (4) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - < (1)
- <= (1)
- <=> (1)
- == (1)
- > (1)
- >= (1)
-
ALIGN
_ FLOAT (1) - BigDecimal (2)
- Converters (1)
- DIG (1)
- E (1)
- EPSILON (1)
- FloatDomainError (1)
- INFINITY (1)
- Infinity (1)
-
MANT
_ DIG (1) - MAX (1)
-
MAX
_ 10 _ EXP (1) -
MAX
_ EXP (1) - MIN (1)
-
MIN
_ 10 _ EXP (1) -
MIN
_ EXP (1) - Marshal フォーマット (1)
- MinusInfinity (1)
- NAN (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) -
NEWS for Ruby 2
. 6 . 0 (1) -
NEWS for Ruby 2
. 7 . 0 (1) - NUM2INT (1)
- NUM2LONG (1)
- NUM2SHORT (1)
- NUM2UINT (1)
- NUM2ULONG (1)
- NUM2USHORT (1)
- NaN (1)
- Numeric (1)
- PI (1)
- RADIX (1)
- RFLOAT (1)
- ROUNDS (1)
- Rational (1)
- Ruby用語集 (1)
-
SIZEOF
_ FLOAT (1) -
TYPE
_ FLOAT (1) - []= (1)
- abs (2)
- acos (1)
- acosh (1)
- angle (2)
-
angle
_ with (1) - arg (2)
- asin (1)
- asinh (1)
- at (6)
- atan (1)
- atan2 (1)
- atanh (1)
- bigdecimal (1)
-
bigdecimal
/ util (1) - bsearch (2)
- call (1)
- cbrt (1)
- ceil (1)
- classify (1)
-
clock
_ gettime (1) - coerce (1)
- cofactor (1)
-
cofactor
_ expansion (1) - converters (1)
- cos (1)
- cosh (1)
- cstime (2)
- cutime (2)
- denominator (2)
- det (1)
-
det
_ e (1) - determinant (1)
-
determinant
_ e (1) - div (1)
- divmod (1)
- dot (1)
-
double
_ fig (1) - each (2)
- eigenvalues (1)
-
elements
_ to _ f (2) -
enum
_ for (2) - eql? (1)
- erf (1)
- erfc (1)
- exp (2)
- fdiv (4)
- fiddle (1)
- finite? (3)
- floor (1)
- format (1)
- frexp (1)
- gamma (1)
- grep (1)
-
grep
_ v (1) - hash (1)
- hex (1)
- hypot (1)
- infinite? (3)
-
inner
_ product (1) - inspect (2)
-
laplace
_ expansion (1) - lazy (2)
- ldexp (1)
- lgamma (1)
- log (3)
- log10 (1)
- log2 (1)
- magnitude (3)
- matrix (1)
- memberwise (1)
- modulo (1)
- nan? (1)
- negative? (1)
- new (6)
-
next
_ float (1) - norm (2)
- numerator (2)
- oct (1)
- on (12)
-
parse
_ csv (1) - phase (2)
- positive? (1)
- pow (2)
-
prev
_ float (1) - putc (1)
- quo (2)
- r (1)
- rand (8)
-
random
_ number (1) - rank (1)
- rationalize (2)
-
rb
_ Float (1) -
rb
_ f _ float (1) -
reachable
_ objects _ from (1) - real (1)
- realtime (1)
- round (3)
-
ruby 1
. 6 feature (1) - sin (1)
-
singleton
_ class (1) - sinh (1)
- size (3)
- split (1)
- sprintf (1)
- sprintf フォーマット (1)
- sqrt (1)
- step (9)
- stime (2)
- tan (1)
- tanh (1)
-
to
_ d (2) -
to
_ enum (2) -
to
_ f (8) -
to
_ i (2) -
to
_ json (1) -
to
_ r (1) -
to
_ s (2) - total (1)
-
total
_ time (1) - tr (1)
- trace (1)
- truncate (1)
- utime (2)
- version (1)
-
write
_ timeout= (1) - zero? (1)
- セキュリティモデル (1)
- 正規表現 (1)
検索結果
先頭5件
-
Vector
# elements _ to _ f -> Vector (49.0) -
ベクトルの各成分をFloatに変換したベクトルを返します。
ベクトルの各成分をFloatに変換したベクトルを返します。
このメソッドは deprecated です。 map(&:to_f) を使ってください。
//emlist[例][ruby]{
require 'matrix'
v = Vector.elements([2, 3, 5, 7, 9])
p v.elements_to_f
# => Vector[2.0, 3.0, 5.0, 7.0, 9.0]
//} -
Time
. at(time , usec) -> Time (40.0) -
time + (usec/1000000) の時刻を表す Time オブジェクトを返します。 浮動小数点の精度では不十分な場合に使用します。
time + (usec/1000000) の時刻を表す Time オブジェクトを返します。
浮動小数点の精度では不十分な場合に使用します。
キーワード引数 in でタイムゾーンを指定できます。タイムゾーンの指定がない場合、
生成された Time オブジェクトのタイムゾーンは地方時となります。
@param time 起算時からの経過秒数を表わす値をInteger、 Float、 Rational、または他のNumericで指定します。
@param usec マイクロ秒をInteger、 Float、 Rational、または他のNumericで指定します。
@param in "... -
Time
. at(time , usec , in:) -> Time (40.0) -
time + (usec/1000000) の時刻を表す Time オブジェクトを返します。 浮動小数点の精度では不十分な場合に使用します。
time + (usec/1000000) の時刻を表す Time オブジェクトを返します。
浮動小数点の精度では不十分な場合に使用します。
キーワード引数 in でタイムゾーンを指定できます。タイムゾーンの指定がない場合、
生成された Time オブジェクトのタイムゾーンは地方時となります。
@param time 起算時からの経過秒数を表わす値をInteger、 Float、 Rational、または他のNumericで指定します。
@param usec マイクロ秒をInteger、 Float、 Rational、または他のNumericで指定します。
@param in "... -
BigMath
. # exp(x , prec) -> BigDecimal (37.0) -
x の指数関数を prec で指定した精度で計算します。
x の指数関数を prec で指定した精度で計算します。
x に正の無限大を指定した場合は正の無限大を返します。負の無限大を指定し
た場合には 0 を返します。NaN を指定した場合には NaNを返します。
@param x 計算対象の数値を Integer、BigDecimal、
Float、Rationalオブジェクトのいずれかで指定します。
@param prec 計算結果の精度を指定します。
@raise ArgumentError x に Integer、BigDecimal、
Float、Rational以外のオ... -
Enumerator
:: Lazy # grep(pattern) {|item| . . . } -> Enumerator :: Lazy (37.0) -
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep(/\A(\d)\1+\z/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/).... -
Enumerator
:: Lazy # grep _ v(pattern) {|item| . . . } -> Enumerator :: Lazy (37.0) -
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep_v(/(\d).*\1/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/).t... -
Integer
# **(other) -> Numeric (37.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Integer
# pow(other) -> Numeric (37.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Integer
# pow(other , modulo) -> Integer (37.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
NEWS for Ruby 2
. 0 . 0 (37.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
Numeric
# finite? -> bool (37.0) -
self の絶対値が有限値の場合に true を、そうでない場合に false を返します。
self の絶対値が有限値の場合に true を、そうでない場合に false を返します。
//emlist[例][ruby]{
10.finite? # => true
Rational(3).finite? # => true
Float::INFINITY.finite? # => false
Float::INFINITY.is_a?(Numeric) # => true
//}
@see Numeric#infinite? -
WIN32OLE
_ TYPELIB . new(libname , mjv = nil , miv = nil) -> WIN32OLE _ TYPELIB (37.0) -
WIN32OLE_TYPELIBオブジェクトを生成します。
WIN32OLE_TYPELIBオブジェクトを生成します。
@param libname 生成するTypeLibのレジストリ上のドキュメント文字列
(WIN32OLE_TYPELIB#name)または
GUID(WIN32OLE_TYPELIB#guid)またはTLBファイル名を
文字列で指定します。
@param mjv 作成するTypeLibのメジャーバージョン番号をIntegerで指定します。
または整数部にメジャーバージョン、小数点数部にマイナーバージョ
... -
正規表現 (37.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
正規表現
* metachar
* expansion
* char
* anychar
* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパタ... -
Time
. at(seconds , xseconds , unit) -> Time (25.0) -
unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オブジェクトを返します。
unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オブジェクトを返します。
@param seconds 起算時からの経過秒数を表わす値をInteger、 Float、 Rational、または他のNumericで指定します。
@param xseconds unit に対応するミリ秒かマイクロ秒かナノ秒を指定します。
@param unit :millisecond, :usec, :microsecond, :nsec, :nanosecond のいずれかを指定します。
@param in "+HH:MM" や "-HH:MM" のような形式の... -
Time
. at(seconds , xseconds , unit , in:) -> Time (25.0) -
unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オブジェクトを返します。
unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オブジェクトを返します。
@param seconds 起算時からの経過秒数を表わす値をInteger、 Float、 Rational、または他のNumericで指定します。
@param xseconds unit に対応するミリ秒かマイクロ秒かナノ秒を指定します。
@param unit :millisecond, :usec, :microsecond, :nsec, :nanosecond のいずれかを指定します。
@param in "+HH:MM" や "-HH:MM" のような形式の... -
Benchmark
:: Tms # *(x) -> Benchmark :: Tms (19.0) -
self と x の乗算を計算します。
self と x の乗算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise -
Benchmark
:: Tms # +(x) -> Benchmark :: Tms (19.0) -
self と x の加算を計算します。
self と x の加算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise -
Benchmark
:: Tms # -(x) -> Benchmark :: Tms (19.0) -
self と x の減算を計算します。
self と x の減算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise -
Benchmark
:: Tms # / (x) -> Benchmark :: Tms (19.0) -
self と x の除算を計算します。
self と x の除算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise -
Benchmark
:: Tms # memberwise(op , x) -> Benchmark :: Tms (19.0) -
Benchmark::Tms の四則演算を実行するために内部で使用されるメソッドです。
Benchmark::Tms の四則演算を実行するために内部で使用されるメソッドです。
@param op 演算子をシンボルで与えます。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。 -
BigDecimal
# split -> [Integer , String , Integer , Integer] (19.0) -
BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、 符号 (NaNのときは 0、それ以外は+1か-1になります)、 仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、
符号 (NaNのときは 0、それ以外は+1か-1になります)、
仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
//emlist[][ruby]{
require "bigdecimal"
a = BigDecimal("3.14159265")
f, x, y, z = a.split
//}
とすると、f = 1、x = "314159265"、y = 10、z = 1 になります。
従って、以下のようにする事で Float に変換することができます。
//em... -
BigMath
. # log(x , prec) -> BigDecimal (19.0) -
x の自然対数を prec で指定した精度で計算します。
x の自然対数を prec で指定した精度で計算します。
x に無限大を指定した場合は無限大を返します。NaN を指定した場合には NaN
を返します。
@param x 計算対象の数値を Integer、Float、
Rational、BigDecimal オブジェクトのいずれかで指定
します。
@param prec 計算結果の精度を指定します。
@raise Math::DomainError x に 0 以下の数値か Complex オブジェクト
が指定された場合に発生します。
@rais... -
Complex
# abs -> Numeric (19.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
# finite? -> bool (19.0) -
実部と虚部の両方が有限値の場合に true を、そうでない場合に false を返します。
実部と虚部の両方が有限値の場合に true を、そうでない場合に false を返します。
//emlist[例][ruby]{
(1 + 1i).finite? # => true
(Float::INFINITY + 1i).finite? # => false
//}
@see Complex#infinite? -
Complex
# infinite? -> nil | 1 (19.0) -
実部と虚部のどちらも無限大ではない場合に nil を、そうでない場合に 1 を返します。
実部と虚部のどちらも無限大ではない場合に nil を、そうでない場合に 1 を返します。
//emlist[例][ruby]{
(1+1i).infinite? # => nil
(Float::INFINITY + 1i).infinite? # => 1
//}
@see Complex#finite? -
Complex
# magnitude -> Numeric (19.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 -
Enumerable
# lazy -> Enumerator :: Lazy (19.0) -
自身を lazy な Enumerator に変換したものを返します。
自身を lazy な Enumerator に変換したものを返します。
この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではな
くEnumeratorを返す) ように再定義されています。
* map/collect
* flat_map/collect_concat
* select/find_all
* reject
* grep
* take, take_while
* drop, drop_while
* zip (※一貫性のため、ブロックを渡さないケースのみlazy)
* cycle (※一貫性のため、ブロックを渡さないケースのみl... -
Enumerator
. new(size=nil) {|y| . . . } -> Enumerator (19.0) -
Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを 引数として実行されます。
Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを
引数として実行されます。
生成された Enumerator オブジェクトに対して each を呼ぶと、この生成時に指定されたブロックを
実行し、Yielder オブジェクトに対して << メソッドが呼ばれるたびに、
each に渡されたブロックが繰り返されます。
new に渡されたブロックが終了した時点で each の繰り返しが終わります。
このときのブロックの返り値が each の返り値となります。
@param size 生成する Enumerator... -
Enumerator
:: Lazy # enum _ for(method = :each , *args) -> Enumerator :: Lazy (19.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Enumerator
:: Lazy # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (19.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Enumerator
:: Lazy # lazy -> self (19.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
lazy = (100..Float::INFINITY).lazy
p lazy.lazy # => #<Enumerator::Lazy: 100..Infinity>
p lazy == lazy.lazy # => true
//} -
Enumerator
:: Lazy # to _ enum(method = :each , *args) -> Enumerator :: Lazy (19.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Enumerator
:: Lazy # to _ enum(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (19.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil (19.0) -
関数を呼び出します。
関数を呼び出します。
Fiddle::Function.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。
引数の変換は以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェクトであれば FILE* が渡されます。
整数であればそれがアドレスとみ... -
Fiddle
:: Function . new(ptr , args , ret _ type , abi=Fiddle :: Function :: DEFAULT , name: nil) -> Fiddle :: Function (19.0) -
ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。
ptr (関数ポインタ)から Fiddle::Function オブジェクトを
生成します。
ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。
args、ret_type で関数の引数と返り値の型を指定します。これには以下の
定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を
意味します。
* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fidd... -
Integer
# / (other) -> Numeric (19.0) -
除算の算術演算子。
除算の算術演算子。
other が Integer の場合、整商(整数の商)を Integer で返します。
普通の商(剰余を考えない商)を越えない最大の整数をもって整商とします。
other が Float、Rational、Complex の場合、普通の商を other と
同じクラスのインスタンスで返します。
@param other 二項演算の右側の引数(対象)
@return 計算結果
//emlist[例][ruby]{
7 / 2 # => 3
7 / -2 # => -4
7 / 2.0 # => 3.5
7 / Rational(2, 1) # => (7/2)
7... -
Integer
# div(other) -> Integer (19.0) -
整商(整数の商)を返します。 普通の商(剰余を考えない商)を越えない最大の整数をもって整商とします。
整商(整数の商)を返します。
普通の商(剰余を考えない商)を越えない最大の整数をもって整商とします。
other が Integer オブジェクトの場合、Integer#/ の結果と一致します。
div に対応する剰余メソッドは modulo です。
@param other 二項演算の右側の引数(対象)
@return 計算結果
//emlist[例][ruby]{
7.div(2) # => 3
7.div(-2) # => -4
7.div(2.0) # => 3
7.div(Rational(2, 1)) # => 3
begin
2.div(0)
rescue => ... -
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 されません... -
Matrix
# det -> Numeric (19.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1... -
Matrix
# determinant -> Numeric (19.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1... -
Matrix
# rank -> Integer (19.0) -
階数 (rank) を返します。
階数 (rank) を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
//emlist[][ruby]{
require 'matrix'
m = Matrix[[2, 6], [1, 3]]
m.rank # => 1
//} -
Matrix
# round(ndigits = 0) -> Matrix (19.0) -
行列の各要素を指定した桁数で丸めた行列を返します。
行列の各要素を指定した桁数で丸めた行列を返します。
@see Float#round -
NEWS for Ruby 2
. 7 . 0 (19.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.7.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス... -
Net
:: HTTP # write _ timeout=(seconds) (19.0) -
書き込み(write(2)) 一回でブロックしてよい最大秒数を 設定します。
書き込み(write(2)) 一回でブロックしてよい最大秒数を
設定します。
Float や Rational も設定できます。
この秒数たっても書き込めなければ例外 Net::WriteTimeout
を発生します。
Windows では Net::WriteTimeout は発生しません。
デフォルトは 60 (秒)です。
@param second 待つ秒数を指定します。
@see Net::HTTP#open_timeout, Net::HTTP#read_timeout, Net::HTTP#write_timeout -
Numeric
# -@ -> Numeric (19.0) -
単項演算子の - です。 self の符号を反転させたものを返します。
単項演算子の - です。
self の符号を反転させたものを返します。
このメソッドは、二項演算子 - で 0 - self によって定義されています。
@see Integer#-@、Float#-@、Rational#-@、Complex#-@ -
Numeric
# denominator -> Integer (19.0) -
自身を Rational に変換した時の分母を返します。
自身を Rational に変換した時の分母を返します。
@return 分母を返します。
@see Numeric#numerator、Integer#denominator、Float#denominator、Rational#denominator、Complex#denominator -
Numeric
# numerator -> Integer (19.0) -
自身を Rational に変換した時の分子を返します。
自身を Rational に変換した時の分子を返します。
@return 分子を返します。
@see Numeric#denominator、Integer#numerator、Float#numerator、Rational#numerator、Complex#numerator -
Object
# singleton _ class -> Class (19.0) -
レシーバの特異クラスを返します。 まだ特異クラスがなければ、新しく作成します。
レシーバの特異クラスを返します。
まだ特異クラスがなければ、新しく作成します。
レシーバが nil か true か false なら、それぞれ NilClass, TrueClass,
FalseClass を返します。
@raise TypeError レシーバが Integer、Float、Symbol の場合に発生します。
//emlist[][ruby]{
Object.new.singleton_class #=> #<Class:#<Object:0xb7ce1e24>>
String.singleton_class #=> #<Class:String>
n... -
ObjectSpace
. # reachable _ objects _ from(obj) -> Array | nil (19.0) -
obj から到達可能なすべてのオブジェクトを返します。マーク不能なオブジェ クトを指定した場合は nil を返します。本メソッドを使う事でメモリリークの 調査が行えます。
obj から到達可能なすべてのオブジェクトを返します。マーク不能なオブジェ
クトを指定した場合は nil を返します。本メソッドを使う事でメモリリークの
調査が行えます。
//emlist[例][ruby]{
# 配列クラス(Array)と 'a'、'b'、'c' に到達可能。
ObjectSpace.reachable_objects_from(['a', 'b', 'c'])
# => [Array, 'a', 'b', 'c']
//}
obj が 2 つ以上の同じオブジェクト x への参照を持つ場合、戻り値に含まれ
るオブジェクト x は 1 つだけです。
//emlist[例... -
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 を返す
* 求める値がブロックパラメータより後の要... -
Range
# each -> Enumerator (19.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Floa... -
Range
# each {|item| . . . } -> self (19.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Floa... -
Rational (19.0)
-
有理数を扱うクラスです。
有理数を扱うクラスです。
「1/3」のような有理数を扱う事ができます。Integer や Float
と同様に Rational.new ではなく、 Kernel.#Rational を使用して
Rational オブジェクトを作成します。
//emlist[例][ruby]{
Rational(1, 3) # => (1/3)
Rational('1/3') # => (1/3)
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
//}
Rational オブジェク... -
Set
# classify {|o| . . . } -> Hash (19.0) -
集合をブロックの値によって分類し、結果をハッシュとして返します。
集合をブロックの値によって分類し、結果をハッシュとして返します。
ブロックは集合の各要素について実行され、引数 o にはその要素が
渡されます。
生成されるハッシュのキーはブロックの実行結果、値は分類された集合と
なります。
//emlist[][ruby]{
require 'set'
numbers = Set[10, 4.5, 20, 30, 31.2]
p numbers.classify {|o| o.class}
# => {Integer=>#<Set: {10, 20, 30}>, Float=>#<Set: {4.5, 31.2}>}
//} -
String
# hex -> Integer (19.0) -
文字列に 16 進数で数値が表現されていると解釈して整数に変換します。 接頭辞 "0x", "0X" とアンダースコアは無視されます。 文字列が [_0-9a-fA-F] 以外の文字を含むときはその文字以降を無視します。
文字列に 16 進数で数値が表現されていると解釈して整数に変換します。
接頭辞 "0x", "0X" とアンダースコアは無視されます。
文字列が [_0-9a-fA-F] 以外の文字を含むときはその文字以降を無視します。
self が空文字列のときは 0 を返します。
//emlist[例][ruby]{
p "10".hex # => 16
p "ff".hex # => 255
p "0x10".hex # => 16
p "-0x10".hex # => -16
p "xyz".hex # => 0
p "10z".hex # => 16
p "1_0".h... -
String
# oct -> Integer (19.0) -
文字列を 8 進文字列であると解釈して、整数に変換します。
文字列を 8 進文字列であると解釈して、整数に変換します。
//emlist[例][ruby]{
p "10".oct # => 8
p "010".oct # => 8
p "8".oct # => 0
//}
oct は文字列の接頭辞 ("0", "0b", "0B", "0x", "0X") に応じて
8 進以外の変換も行います。
//emlist[例][ruby]{
p "0b10".oct # => 2
p "10".oct # => 8
p "010".oct # => 8
p "0x10".oct # => 16
//}
整数とみなせない文字があれば... -
String
# parse _ csv(**options) -> [String] (19.0) -
CSV.parse_line(self, options) と同様です。
CSV.parse_line(self, options) と同様です。
1 行の CSV 文字列を、文字列の配列に変換するためのショートカットです。
@param options CSV.new と同様のオプションを指定します。
//emlist[][ruby]{
require "csv"
p "Matz,Ruby\n".parse_csv # => ["Matz", "Ruby"]
p "Matz|Ruby\r\n".parse_csv(col_sep: '|', row_sep: "\r\n") # => ... -
String
# to _ i(base = 10) -> Integer (19.0) -
文字列を 10 進数表現された整数であると解釈して、整数に変換します。
文字列を 10 進数表現された整数であると解釈して、整数に変換します。
//emlist[例][ruby]{
p " 10".to_i # => 10
p "+10".to_i # => 10
p "-10".to_i # => -10
p "010".to_i # => 10
p "-010".to_i # => -10
//}
整数とみなせない文字があればそこまでを変換対象とします。
変換対象が空文字列であれば 0 を返します。
//emlist[例][ruby]{
p "0x11".to_i # => 0
p "".to_i # =>... -
StringIO
# putc(ch) -> object (19.0) -
文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。 ch が文字列なら、その先頭の文字を書き込みます。ch を返します。
文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。
ch が文字列なら、その先頭の文字を書き込みます。ch を返します。
@param ch 書き込みたい文字を、整数か文字列で指定します。ch が Float や Rational であっても、整数に変換されてから書き込まれます。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。 -
WEBrick
:: HTTPServer . new(config = {} , default = WEBrick :: Config :: HTTP) -> WEBrick :: HTTPServer (19.0) -
HTTPServer オブジェクトを生成して返します。
HTTPServer オブジェクトを生成して返します。
@param config 設定を保存したハッシュを指定します。有効なキー(Symbol オブジェクト)と値は以下のとおりです。
: :RequestTimeout
どれだけの時間 クライアントからの入力を待つかを整数か Float で指定します。
単位は秒です。
: :HTTPVersion
使用する HTTP のバージョンです。WEBrick::HTTPVersion オブジェクトで指定します。デフォルトは 1.1 です。
: :AccessLog
アクセスログの出力先とフォーマットを [[io, format],... -
WIN32OLE
_ VARIANT # []=(i . . . , val) -> object (19.0) -
配列型のWIN32OLE_VARIANTの要素を設定します。
配列型のWIN32OLE_VARIANTの要素を設定します。
selfは、WIN32OLE_VARIANT.arrayまたは引数に配列を指定して
WIN32OLE_VARIANT.newで作成したインスタンスの必要があります。
@param i 各次元の0からのインデックスを「,」で区切って次元数分指定します。
インデックスは0から要素数-1までのIntegerで指定してください。
@param val 設定値を指定します。Array、String、Integer、Float、
TrueClass、FalseClass、NilClass以外のオブジェ... -
WIN32OLE
_ VARIANT . new(val , vartype = nil) -> WIN32OLE _ VARIANT (19.0) -
指定したオブジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。
指定したオブジェクトを値とするWIN32OLE_VARIANTオブジェクトを生成します。
@param val ラップするRubyオブジェクトを指定します。
@param vartype 省略時はWIN32OLEが自動型変換を行います。指定する場合は
WIN32OLE::VARIANTの定数を指定してください。
@return val引数を値として持つWIN32OLE_VARIANTオブジェクトを返します。
@raise TypeError val引数の型がArray、String、Integer、Float、Time、
WI... -
bigdecimal (19.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 では正確な値を得る事がで... -
fiddle (19.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡張する形で使います。
require ... -
int NUM2INT(VALUE x) (19.0)
-
x を int 型の整数に変換します。
x を int 型の整数に変換します。
x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。
@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。
@raise RangeError x が int 型で表現できる値の範囲外であった場合に発生し
ます。 -
long NUM2LONG(VALUE x) (19.0)
-
x を long 型の整数に変換します。
x を long 型の整数に変換します。
x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。
@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。
@raise RangeError x が long 型で表現できる値の範囲外であった場合に発生
します。 -
matrix (19.0)
-
行列と数ベクトルを扱うためのライブラリです。
行列と数ベクトルを扱うためのライブラリです。
行列、ベクトルの各要素には Ruby の任意の数オブジェクト(Numeric の
サブクラス、Float, Integer, Complex, Rational など)
が使えます。 -
short NUM2SHORT(VALUE x) (19.0)
-
x を short 型の整数に変換します。
x を short 型の整数に変換します。
x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。
@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。
@raise RangeError x が short 型で表現できる値の範囲外であった場合に発生
します。 -
unsigned int NUM2UINT(VALUE x) (19.0)
-
x を unsigned int 型の整数に変換します。
x を unsigned int 型の整数に変換します。
x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。
@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。
@raise RangeError x が unsigned int 型で表現できる値の範囲外であった場
合に発生します。 -
unsigned long NUM2ULONG(VALUE x) (19.0)
-
x を unsigned long 型の整数に変換します。
x を unsigned long 型の整数に変換します。
x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。
@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。
@raise RangeError x が unsigned long 型で表現できる値の範囲外であった場
合に発生します。 -
unsigned short NUM2USHORT(VALUE x) (19.0)
-
x を unsigned short 型の整数に変換します。
x を unsigned short 型の整数に変換します。
x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。
@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。
@raise RangeError x が unsigned short 型で表現できる値の範囲外であった
場合に発生します。 -
セキュリティモデル (19.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
セキュリティモデル
RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ
機構が備わっています。
Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という
仕組みによってなりたっています。
=== オブジェクトの汚染
Rubyではオブジェクトは「汚染されている」とみなされることがあります。この
しくみは大きく分けて二つの使われ方をします。
ひとつ目は、信用できない入力をもとに作られたオブジェクトを「汚染されてい
る」とみなし、「危険な操作」の引数として使えないようにすることです。悪意
あるデータによって、プログラムが意図しない動作をする事... -
OptionParser
# on(long , *rest) {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
コマンドに与えられた引数が配列やハッシュに含まれない場合、例外
OptionParser::InvalidArgument が OptionParser#parse 実行時
に発生します。
@param short ショートオプションを表す文字列を指定します。
@param long ロングオプションを表す文字列を指定します。
@param rest 可能な引数を列挙した配列やハッシュを与えます。文字列を与えた場合は、
サマリ... -
OptionParser
# on(long , desc = "") {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
ショートオプションとロングオプションを同時に登録することもできます。
opts.on("-r", "--require LIBRARY"){|lib| ...}
これは以下と同値です。
opts.on("-r LIBRARY"){|lib| ...}
opts.on("--require LIBRARY"){|lib| ...}
複数の異なるオプションに同じブロックを一度に登録することもできます。
opt.on('-v', '-vv')... -
OptionParser
# on(long , pat = / . * / , desc = "") {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
pat にはオプションの引数に許すパターンを表す正規表現で与えます。
コマンドに与えられた引数がパターンにマッチしない場合、
例外 OptionParser::InvalidArgument が parse 実行時に投げられます。
opts.on("--username VALUE", /[a-zA-Z0-9_]+/){|name| ...}
# ruby command --username=ruby_user
# ruby command... -
OptionParser
# on(short , *rest) {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
コマンドに与えられた引数が配列やハッシュに含まれない場合、例外
OptionParser::InvalidArgument が OptionParser#parse 実行時
に発生します。
@param short ショートオプションを表す文字列を指定します。
@param long ロングオプションを表す文字列を指定します。
@param rest 可能な引数を列挙した配列やハッシュを与えます。文字列を与えた場合は、
サマリ... -
OptionParser
# on(short , desc = "") {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
ショートオプションとロングオプションを同時に登録することもできます。
opts.on("-r", "--require LIBRARY"){|lib| ...}
これは以下と同値です。
opts.on("-r LIBRARY"){|lib| ...}
opts.on("--require LIBRARY"){|lib| ...}
複数の異なるオプションに同じブロックを一度に登録することもできます。
opt.on('-v', '-vv')... -
OptionParser
# on(short , long , *rest) {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
コマンドに与えられた引数が配列やハッシュに含まれない場合、例外
OptionParser::InvalidArgument が OptionParser#parse 実行時
に発生します。
@param short ショートオプションを表す文字列を指定します。
@param long ロングオプションを表す文字列を指定します。
@param rest 可能な引数を列挙した配列やハッシュを与えます。文字列を与えた場合は、
サマリ... -
OptionParser
# on(short , long , desc = "") {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
ショートオプションとロングオプションを同時に登録することもできます。
opts.on("-r", "--require LIBRARY"){|lib| ...}
これは以下と同値です。
opts.on("-r LIBRARY"){|lib| ...}
opts.on("--require LIBRARY"){|lib| ...}
複数の異なるオプションに同じブロックを一度に登録することもできます。
opt.on('-v', '-vv')... -
OptionParser
# on(short , long , pat = / . * / , desc = "") {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
pat にはオプションの引数に許すパターンを表す正規表現で与えます。
コマンドに与えられた引数がパターンにマッチしない場合、
例外 OptionParser::InvalidArgument が parse 実行時に投げられます。
opts.on("--username VALUE", /[a-zA-Z0-9_]+/){|name| ...}
# ruby command --username=ruby_user
# ruby command... -
OptionParser
# on(short , pat = / . * / , desc = "") {|v| . . . } -> self (13.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
pat にはオプションの引数に許すパターンを表す正規表現で与えます。
コマンドに与えられた引数がパターンにマッチしない場合、
例外 OptionParser::InvalidArgument が parse 実行時に投げられます。
opts.on("--username VALUE", /[a-zA-Z0-9_]+/){|name| ...}
# ruby command --username=ruby_user
# ruby command... -
Time
. at(time) -> Time (10.0) -
time で指定した時刻の Time オブジェクトを返します。
time で指定した時刻の Time オブジェクトを返します。
キーワード引数 in でタイムゾーンを指定できます。タイムゾーンの指定がなく
引数が数値の場合、生成された Time オブジェクトのタイムゾーンは地方時となります。
@param time Time オブジェクト、もしくは起算時からの経過秒数を表わす数値で指定します。
@param in "+HH:MM" や "-HH:MM" のような形式の文字列か
"UTC" かミリタリータイムゾーンの文字列または
数値でタイムゾーンを指定します。
//emlist[][ruby]{
Time.a... -
Time
. at(time , in:) -> Time (10.0) -
time で指定した時刻の Time オブジェクトを返します。
time で指定した時刻の Time オブジェクトを返します。
キーワード引数 in でタイムゾーンを指定できます。タイムゾーンの指定がなく
引数が数値の場合、生成された Time オブジェクトのタイムゾーンは地方時となります。
@param time Time オブジェクト、もしくは起算時からの経過秒数を表わす数値で指定します。
@param in "+HH:MM" や "-HH:MM" のような形式の文字列か
"UTC" かミリタリータイムゾーンの文字列または
数値でタイムゾーンを指定します。
//emlist[][ruby]{
Time.a... -
Time
# -(sec) -> Time (7.0) -
自身より sec 秒だけ前の時刻を返します。
自身より sec 秒だけ前の時刻を返します。
@param sec 実数を秒を単位として指定します。
//emlist[][ruby]{
p t = Time.local(2000) # => 2000-01-01 00:00:00 +0900
p t2 = t + 2592000 # => 2000-01-31 00:00:00 +0900
p t2 - 2592000 # => 2000-01-01 00:00:00 +0900
//} -
Enumerator
. new(obj , method = :each , *args) -> Enumerator (4.0) -
オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。
オブジェクト obj について、 each の代わりに method という
名前のメソッドを使って繰り返すオブジェクトを生成して返します。
args を指定すると、 method の呼び出し時に渡されます。
@param obj イテレータメソッドのレシーバとなるオブジェクト
@param method イテレータメソッドの名前を表すシンボルまたは文字列
@param args イテレータメソッドの呼び出しに渡す任意個の引数
//emlist[例][ruby]{
str = "xyz"
enum = Enumerator.new(str, :each_byte)
p enum.map...