Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Symbolクラス > []

instance method Symbol#[]

self[nth] -> String | nil[permalink][rdoc]
slice(nth) -> String | nil

nth 番目の文字を返します。

(self.to_s[nth] と同じです。)

[PARAM] nth:
文字の位置を表す整数を指定します。
:foo[0] # => "f"
:foo[1] # => "o"
:foo[2] # => "o"
self[nth, len] -> String | nil[permalink][rdoc]
slice(nth, len) -> String | nil

nth 番目から長さ len の部分文字列を新しく作って返します。

(self.to_s[nth, len] と同じです。)

[PARAM] nth:
文字の位置を表す整数を指定します。
[PARAM] len:
文字列の長さを指定します。
:foo[1, 2] # => "oo"
self[substr] -> String | nil[permalink][rdoc]
slice(substr) -> String | nil

self が substr を含む場合、一致した文字列を新しく作って返します。

(self.to_s[substr] と同じです。)

例:

:foobar.slice("foo")   # => "foo"
:foobar.slice("baz")   # => nil
self[regexp, nth = 0] -> String | nil[permalink][rdoc]
slice(regexp, nth = 0) -> String | nil

正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。

(self.to_s[regexp, nth] と同じです。)

[PARAM] regexp:
正規表現を指定します。
[PARAM] nth:
取得したい正規表現レジスタのインデックスを指定します。
:foobar[/bar/] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 0] # => "barbaz"
:foobarbaz[/(ba.)(ba.)/, 1] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 2] # => "baz"
self[range] -> String | nil[permalink][rdoc]
slice(range) -> String | nil

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

(self.to_s[range] と同じです。)

[PARAM] range:
取得したい文字列の範囲を示す Range オブジェクトを指定します。
:foo[0..1] # => "fo"

[SEE_ALSO] String#[], String#slice