種類
- インスタンスメソッド (576)
- 文書 (35)
- 特異メソッド (22)
ライブラリ
- ビルトイン (587)
-
ripper
/ lexer (11)
クラス
- Array (66)
- Enumerator (5)
-
Enumerator
:: Lazy (63) - Hash (7)
- Ripper (11)
- String (231)
- Symbol (110)
モジュール
- Enumerable (99)
オブジェクト
- ENV (6)
キーワード
-
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 3
. 0 . 0 (4) - [] (121)
- byteslice (33)
-
chunk
_ while (11) -
each
_ cons (11) -
each
_ slice (22) - produce (5)
-
ruby 1
. 6 feature (11) -
ruby 1
. 9 feature (11) - slice! (99)
-
slice
_ after (42) -
slice
_ before (55) -
slice
_ when (21)
検索結果
先頭5件
-
ENV
. slice(*keys) -> Hash (24231.0) -
引数で指定されたキーとその値だけを含む Hash を返します。
...の値だけを含む Hash を返します。
//emlist[例][ruby]{
ENV["foo"] = "bar"
ENV["baz"] = "qux"
ENV["bar"] = "rab"
ENV.slice() # => {}
ENV.slice("") # => {}
ENV.slice("unknown") # => {}
ENV.slice("foo", "baz") # => {"foo"=>"bar", "baz"=>"qux"}
//}
@see Hash#slice......を含む Hash を返します。
//emlist[例][ruby]{
ENV["foo"] = "bar"
ENV["baz"] = "qux"
ENV["bar"] = "rab"
ENV.slice() # => {}
ENV.slice("") # => {}
ENV.slice("unknown") # => {}
ENV.slice("foo", "baz") # => {"foo"=>"bar", "baz"=>"qux"}
//}
@see Hash#slice, ENV.except... -
Hash
# slice(*keys) -> Hash (24225.0) -
引数で指定されたキーとその値だけを含む Hash を返します。
...引数で指定されたキーとその値だけを含む Hash を返します。
//emlist[例][ruby]{
h = { a: 100, b: 200, c: 300 }
h.slice(:a) # => {:a=>100}
h.slice(:c, :b) # => {:c=>300, :b=>200}
h.slice(:b, :c, :d) # => {:b=>200, :c=>300}
//}
@see ENV.slice......引数で指定されたキーとその値だけを含む Hash を返します。
//emlist[例][ruby]{
h = { a: 100, b: 200, c: 300 }
h.slice(:a) # => {:a=>100}
h.slice(:c, :b) # => {:c=>300, :b=>200}
h.slice(:b, :c, :d) # => {:b=>200, :c=>300}
//}
@see Hash#except, ENV.slice... -
Array
# slice(nth) -> object | nil (24224.0) -
指定された自身の要素を返します。Array#[] と同じです。
...指定された自身の要素を返します。Array#[] と同じです。
@param nth 要素のインデックスを整数で指定します。Array#[] と同じです。
//emlist[例][ruby]{
p [0, 1, 2].slice(1) #=> 1
p [0, 1, 2].slice(2) #=> 2
p [0, 1, 2].slice(10) #=> nil
//}... -
Array
# slice(pos , len) -> Array | nil (24224.0) -
指定された自身の部分配列を返します。Array#[] と同じです。
...ます。Array#[] と同じです。
@param pos Array#[] と同じです。
@param len Array#[] と同じです。
@param range Array#[] と同じです。
//emlist[例][ruby]{
p [0, 1, 2].slice(0, 2) #=> [0, 1]
p [0, 1, 2].slice(2..3) #=> [2]
p [0, 1, 2].slice(10, 1) #=> nil
//}... -
Array
# slice(range) -> Array | nil (24224.0) -
指定された自身の部分配列を返します。Array#[] と同じです。
...ます。Array#[] と同じです。
@param pos Array#[] と同じです。
@param len Array#[] と同じです。
@param range Array#[] と同じです。
//emlist[例][ruby]{
p [0, 1, 2].slice(0, 2) #=> [0, 1]
p [0, 1, 2].slice(2..3) #=> [2]
p [0, 1, 2].slice(10, 1) #=> nil
//}... -
Ripper
. slice(src , pattern , n = 0) -> String | nil (24207.0) -
Ruby プログラム src のうち、 パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
...ン pattern の n 番目の括弧にマッチする文字列を取り出します。
マッチしない場合は nil を返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param pattern 取り出すプログラムのパターンを文字列......の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。
pattern は Ripper のイベント ID のリストを文字列で記述します。
また pattern には Ruby の正規表現と同じメタ文字も使えます。
ただし......単位ではなくトークン単位で動作します。
使用例
require 'ripper'
p Ripper.slice(%(<<HERE\nstring\#{nil}\nHERE),
"heredoc_beg .*? nl $(.*?) heredoc_end", 1)
# => "string\#{nil}\n"
イベント ID は Ripper::SCANNER_EVENTS で確認できます。... -
String
# slice(nth) -> String | nil (21206.0) -
nth 番目の文字を返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目の文字を返します。
...ら数えます。
つまり、 self.size + nth 番目の文字を返します。
nth が範囲外を指す場合は nil を返します。
@param nth 文字の位置を表す整数
@return 指定した位置の文字を表す String オブジェクト
//emlist[例][ruby]{
p 'bar'[2] # => "......r"
p 'bar'[2] == ?r # => true
p 'bar'[-1] # => "r"
p 'bar'[3] # => nil
p 'bar'[-4] # => nil
//}
このメソッドの仕様は 1.8.x 以前から大きく変更されていますので注意が必要
です。... -
String
# slice(nth , len) -> String | nil (21206.0) -
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。
...す。
@param len 取得したい文字列の長さを正の整数で指定します。
@return nth が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
str0 = "bar"
str0[2, 1] #=> "r"
str0[2, 0] #=> ""
str0[2, 100] #=> "r" (右側を超えても平......r0[-1, 1] #=> "r"
str0[-1, 2] #=> "r" (右に向かって len 文字)
str0[3, 1] #=> ""
str0[4, 1] #=> nil
str0[-4, 1] #=> nil
str1 = str0[0, 2] # (str0 の「一部」を str1 とする)
str1 #=> "ba"
str1[0] = "XYZ"
str1 #=> "XY... -
String
# slice(range) -> String (21206.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...ます。
range.first が 0 より小さいか文字列の長さより大きいときは nil を
返します。ただし range.first および range.last のどちらか
または両方が負の数のときは一度だけ文字列の長さを足して
再試行します。
//emlist[例][ruby]{
'a......# => "bc"
'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オブジェクトが終端を含まない場合
文字列と「隙間」の関係につい......ます。
range.first が 0 より小さいか文字列の長さより大きいときは nil を返します。
ただし range.first と range.last のどちらかまたは両方が負の数
であるときは一度だけ文字列の長さを足して再試行します。
//emlist[例][ruby]{
'ab... -
String
# slice(regexp , name) -> String (21206.0) -
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返 します。
...った場合は nil を返
します。
@param regexp 正規表現を指定します。
@param name 取得したい部分文字列のパターンを示す正規表現レジスタを示す名前
@raise IndexError name に対応する括弧がない場合に発生します。
//emlist[例][ruby]{
s......= "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/] # => "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "foo"] # => "Foo"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "bar"] # => "Bar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "baz"] # => IndexError
//}...