種類
- インスタンスメソッド (884)
- 文書 (93)
- モジュール関数 (77)
- 特異メソッド (11)
- クラス (11)
クラス
モジュール
- Comparable (10)
- Kernel (77)
-
Net
:: HTTPHeader (33)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - Range (11)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
- Ruby用語集 (11)
- [] (231)
- []= (33)
- at (11)
-
backtrace
_ locations (22) - begin (11)
- bsearch (44)
- byteslice (33)
- caller (33)
-
caller
_ locations (22) - clamp (10)
-
content
_ range (11) - fields (11)
- fill (66)
- first (22)
- max (42)
- min (42)
- new (11)
- overlap? (1)
- pack (19)
- pack テンプレート文字列 (11)
- rand (22)
-
range
_ length (11) -
ruby 1
. 8 . 3 feature (11) - size (11)
- slice (154)
- slice! (33)
- store (11)
-
uid
_ store (11) - unpack (11)
-
values
_ at (22) - 演算子式 (11)
検索結果
先頭5件
-
Range (6096.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
...囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。
//emlist[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以......> false
p (1..5).cover?(5) # => true
p (1...5).cover?(5) # => false
//}
Range#cover? メソッドでの判定には演算子 <=> が使われます。
当然、始端と終端は <=> メソッドで比較可能である(nil 以外を返す)必要が
あります。
範囲オブジェクト......たなければなりません。
Range クラスには Enumerable が include してあるので,Range#each に
基づき、Enumerable モジュールが提供する多様なメソッドを使うことができます。
=== 破壊的な変更
Ruby の Range クラスは immutable です。
つ......らは、終端に nil を与えることで「終端を持たない範囲オブジェクト」
を作ることができるようになりました。
//emlist[終端を持たない範囲オブジェクト][ruby]{
p Range.new(1, nil) # 1 以上(上限無し)を表す
p(1..nil) # 同... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (558.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への変更点(まとめ)/サポートプラットフォームの追加>))
...りました。
* nil: 警告を出力しない (-W0 新しい警告レベル)
* false: 重要な警告のみ出力 (-W1 デフォルト)
* true: すべての警告を出力する (-W2 or -W or -v or -w or --verbose)
追加された -W オプションは $VERBOSE = nil の指定(-W0)を......from -:1
ruby 1.6.8 (2002-12-24) [i586-linux]
=> ruby 1.8.0 (2003-06-21) [i586-linux]
[1, 2, nil]
Proc.new { break }.call
=> ruby 1.6.8 (2002-12-24) [i586-linux]
=> -:1:in `call': break from proc-c......ess::Status#pid|Process::Status/pid>)) [new]
追加
=== Range
: ((<Range#step|Range/step>)) [new]
追加。step ごとの要素で繰り返します。
: ((<Range#include?|Range/include?>)) [new]
: ((<Range#member?|Range/member?>)) [new]
追加
=== Regexp
: ((<Reg... -
Array
# [](range) -> Array | nil (322.0) -
Range オブジェクト range の範囲にある要素からなる部分配列を返します。 range の begin が自身の範囲外となる時は nil を返します。ただし、begin が配列の長さに等しいときは空の配列を返します。 range の begin が end より後にある場合には空の配列を返します。
...
Range オブジェクト range の範囲にある要素からなる部分配列を返します。
range の begin が自身の範囲外となる時は nil を返します。ただし、begin が配列の長さに等しいときは空の配列を返します。
range の begin が end より後に......ある場合には空の配列を返します。
@param range 生成したい部分配列の範囲を Range オブジェクトで指定します。
range の begin や end の値が負の時には末尾からのインデックスと見倣します。末尾
の要素が -1......から -2 番目、end は先頭から (4+1) 番目となる。)
a[0..10] #=> ["a", "b", "c", "d", "e"]
a[10..11] #=> nil
a[2..1] #=> []
a[-1..-2] #=> []
# 特殊なケース。begin が自身の長さと同じ場合には以下のようになります。
a[5] #=> nil
a[5..10] #=> []
//}... -
Comparable
# clamp(range) -> object (251.0) -
self を範囲内に収めます。
...in が nil の場合、min は self よりも小さい値として扱われます。
max が nil の場合、max は self よりも大きい値として扱われます。
range が1つ渡された場合は次のようになります。
self <=> range.begin が負数を返したときは range.begin......を、
self <=> range.end が正数を返したときは range.end を、
それ以外の場合は self を返します。
range.begin が nil の場合、range.begin は self よりも小さい値として扱われます。
range.end が nil の場合、range.end は self よりも大きい値と......表すオブジェクトを指定します。
@param range 範囲を表す Range オブジェクトを指定します。
@raise ArgumentError rangeが終端を含まない範囲オブジェクトであり、
終端が nil でないときに発生します。
//emlist[例][rub... -
Kernel
. # rand(range) -> Integer | Float | nil (250.0) -
擬似乱数を発生させます。
...す。
二番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
range に含まれる数が無い場合は nil を返します。
まだ Kernel.#......まれません。
0 を指定すると実数値の乱数を返します。
@param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range の境界は数値でなければなりません。
//emlist[例][ruby]{
srand(1234) # 乱......10) #=> 1 (0 から 9 までの整数。終端を含まない)
rand(1.0..1.5) #=> 1.1362963047752432 (1.0 以上 1.5 以下の実数)
rand(1.0...1.5) #=> 1.1382321275715483 (1.0 以上 1.5 未満の実数)
rand(1..0) #=> nil
//}
@see Kernel.#srand, Random#rand, Random... -
String
# byteslice(range) -> String | nil (250.0) -
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲 外を指定した場合は nil を返します。
...
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲
外を指定した場合は nil を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
@return 切り出した文字列を返します。戻り値の... -
Symbol
# [](range) -> String | nil (247.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
(self.to_s[range] と同じです。)
@param range 取得したい文字列の範囲を示す Range オブジェクトを指定します。
:foo[0..1] # => "fo"
@see String#[] , String#slice... -
Symbol
# slice(range) -> String | nil (247.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
(self.to_s[range] と同じです。)
@param range 取得したい文字列の範囲を示す Range オブジェクトを指定します。
:foo[0..1] # => "fo"
@see String#[] , String#slice... -
String
# [](range) -> String (241.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の......[2..4] # => 'cde'
range.last が文字列の長さ以上のときは
(文字列の長さ - 1) を指定したものとみなされます。
range.first が 0 より小さいか文字列の長さより大きいときは nil を
返します。ただし range.first および range.last のどちら......c"
'abcd'[ 2 .. 2] # => "c"
'abcd'[ 3 .. 2] # => ""
'abcd'[ 4 .. 2] # => ""
'abcd'[ 5 .. 2] # => nil
'abcd'[-3 .. 2] # => "bc"
'abcd'[-4 .. 2] # => "abc"
'abcd'[-5 .. 2] # => nil
//}
=== rangeオブジェクトが終端を含まない場合
文字列と「隙間」の関係については... -
String
# slice(range) -> String (241.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の......[2..4] # => 'cde'
range.last が文字列の長さ以上のときは
(文字列の長さ - 1) を指定したものとみなされます。
range.first が 0 より小さいか文字列の長さより大きいときは nil を
返します。ただし range.first および range.last のどちら......c"
'abcd'[ 2 .. 2] # => "c"
'abcd'[ 3 .. 2] # => ""
'abcd'[ 4 .. 2] # => ""
'abcd'[ 5 .. 2] # => nil
'abcd'[-3 .. 2] # => "bc"
'abcd'[-4 .. 2] # => "abc"
'abcd'[-5 .. 2] # => nil
//}
=== rangeオブジェクトが終端を含まない場合
文字列と「隙間」の関係については... -
Kernel
. # caller(range) -> [String] | nil (240.0) -
start 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。
...範囲外の場合は nil を返します。
@param start long の範囲を超えない正の整数でスタックレベルを指定します。
@param length 取得するスタックの個数を指定します。
@param range 取得したいスタックの範囲を示す Range オブジェクト......foo
end
bar
#=> ["-:2:in `foo'", "-:10:in `bar'", "-:13:in `<main>'"]
# ["-:10:in `bar'", "-:13:in `<main>'"]
# ["-:13:in `<main>'"]
# []
# nil
//}
以下の関数は、caller の要素から [ファイル名, 行番号, メソッド名]
を取り出して返します。
//emlist[例][ru......caller(caller.first)
end
def bar
foo
p parse_caller(caller.first)
end
bar
p parse_caller(caller.first)
#=> ["-", 15, "bar"]
# ["-", 19, nil]
# nil
//}
以下は、$DEBUG が真の場合に役に立つ debug 関数
のサンプルです。
//emlist[例][ruby]{
$DEBUG = true
def debug(*a...