るりまサーチ

最速Rubyリファレンスマニュアル検索!
1357件ヒット [1-100件を表示] (0.086秒)
トップページ > クエリ:Ruby[x] > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:-[x] > クエリ:@[x] > クエリ:self[x] > クラス:String[x]

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

String#-@ -> String | self (12366.0)

self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。

...
self
が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。

//emlist[例][ruby]{
# frozen_string_literal: false

original_text = "text"
frozen_text = -original_...
...t == frozen_text # => true
original_text.equal?(frozen_text) # => false

original_text = "text".freeze
frozen_text = -original_text
frozen_text.frozen? # => true
original_text == frozen_text # => true
original_text.equal?(frozen_text) # => true
//}

@
see String#+@...

String#+@ -> String | self (6353.0)

self が freeze されている文字列の場合、元の文字列の複製を返します。 freeze されていない場合は self を返します。

...
self
が freeze されている文字列の場合、元の文字列の複製を返します。
freeze されていない場合は self を返します。

//emlist[例][ruby]{
# frozen_string_literal: false

original_text = "text"
unfrozen_text = +original_text
unfrozen_text.frozen?...
..._text # => true
original_text.equal?(unfrozen_text) # => true

original_text = "text".freeze
unfrozen_text = +original_text
unfrozen_text.frozen? # => false
original_text == unfrozen_text # => true
original_text.equal?(unfrozen_text) # => false
//}

@
see String#-@...

String#dedup -> String | self (6266.0)

self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。

...
self
が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。

//emlist[例][ruby]{
# frozen_string_literal: false

original_text = "text"
frozen_text = -original_...
...t == frozen_text # => true
original_text.equal?(frozen_text) # => false

original_text = "text".freeze
frozen_text = -original_text
frozen_text.frozen? # => true
original_text == frozen_text # => true
original_text.equal?(frozen_text) # => true
//}

@
see String#+@...

String#%(args) -> String (654.0)

printf と同じ規則に従って args をフォーマットします。

...あれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。

@
param args フォーマットする値、もしくはその配列
@
return フォーマットされた文字列

//emlist[例][ruby]{
p "i = %d" % 10 #...
...= 0xa"
p "i = %#o" % 10 # => "i = 012"

p "%d" % 10 # => "10"
p "%d,%o" % [10, 10] # => "10,12"
//}

=== sprintf フォーマット

Ruby
の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の...
..., %B)が存在すること、sprintf のすべての方言をサ
ポートしていないこと(%': 3桁区切り)などの違いがあります。

Ruby
には整数の大きさに上限がないので、%b, %B, %o, %x, %X
に負の数を与えると (左側に無限に1が続くとみなせるの...

String#split(sep = $;, limit = 0) {|s| ... } -> self (365.0)

第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。

...分割個数の制限はなし

@
param sep 文字列を分割するときのセパレータのパターン
@
param limit 分割する最大個数

@
return ブロックを渡した場合は self、ブロックなしの場合は配列

//emlist[例][ruby]{
p " a \t b \n c".split(/\s+...
...][ruby]{
p '1-10,20'.split(/([-,])/) # => ["1", "-", "10", ",", "20"]
//}

//emlist[正規表現が空文字列にマッチする場合は 1 文字に分割][ruby]{
p 'hi there'.split(/\s*/).join(':') # => "h:i:t:h:e:r:e"
//}

//emlist[文字列全体を 1 文字ずつに分割する例][ruby]{
p...
...字列は取り除かれる][ruby]{
p "a,b,c,,,".split(/,/, 0) # => ["a", "b", "c"]
//}

//emlist[limit 省略時は 0 と同じ (最もよく使われるパターン)][ruby]{
p "a,b,c,,,".split(/,/) # => ["a", "b", "c"]
//}

//emlist[正の limit 使用例][ruby]{
p "a,b,c,d,e".split(/,/, 1)...

絞り込み条件を変える

String#encode!(encoding, from_encoding, options = nil) -> self (312.0)

self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ 与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。変換後の self を返します。

...
self
を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ
与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば
self
のエンコーディングが使われます。変換後の self を返します。...
...ても self を返します。

@
param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@
param from_encoding 変換元のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@
return...
...変換後のself

//emlist[例][ruby]{
#coding:UTF-8
s = "いろは"
s.encode!("EUC-JP")
s.encode!(Encoding::UTF_8)
//}

@
see String#encode...

String#encode!(encoding, options = nil) -> self (312.0)

self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ 与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。変換後の self を返します。

...
self
を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ
与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば
self
のエンコーディングが使われます。変換後の self を返します。...
...ても self を返します。

@
param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@
param from_encoding 変換元のエンコーディングを表す文字列か Encoding オブジェクトを指定します。
@
return...
...変換後のself

//emlist[例][ruby]{
#coding:UTF-8
s = "いろは"
s.encode!("EUC-JP")
s.encode!(Encoding::UTF_8)
//}

@
see String#encode...

String#byterindex(pattern, offset = self.bytesize) -> Integer | nil (305.0)

文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。 見つからなければ nil を返します。

...は正規表現で指定します。

offset が負の場合は、文字列の末尾から数えた位置から探索します。

byterindex と String#byteindex とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索...
...[String#byteindex の場合][ruby]{
p "stringstring".byteindex("ing", 1) # => 3
# ing # ここから探索を始める
# ing
# ing # 右にずらしていってここで見つかる
//}

//emlist[String#byterindex の場合][ruby]{
p "stringstring".byterindex("ing", -...
... -1 の文字から探索を始める
# ing
# ing # 左にずらしていってここで見つかる
//}

@
param pattern 探索する部分文字列または正規表現
@
param offset 探索を始めるバイト単位のインデックス

//emlist[例][ruby]{
'fo...

String#parse_csv(**options) -> [String] (286.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") # => ["Matz", "Ruby"]
//}

Ruby
2.6 (CSV 3.0.2) から、次のオプションが使えるようになりました。

//emlist[][ruby]{
require 'csv'

p "1,,3\n".parse_csv # =...
...1", NaN, "3"]
//}

Ruby
2.7 (CSV 3.1.2) から、次のオプションが使えるようになりました。

//emlist[][ruby]{
require 'csv'

p "Matz, Ruby\n".parse_csv # => ["Matz", " Ruby"]
p "Matz, Ruby\n".parse_csv(strip: true) # => ["Matz", "Ruby"]
//}

@
see CSV.new, CSV....

String#lines(rs = $/, chomp: false) {|line| ... } -> self (285.0)

文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)

...文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)

//emlist[][ruby]{
"aa\nbb\ncc\n".lines # => ["aa\n", "bb\n", "cc\n"]
//}

行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。
各 line には区...
...s を取り除きます。

//emlist[][ruby]{
"hello\nworld\n".lines # => ["hello\n", "world\n"]
"hello\nworld\n".lines(chomp: true) # => ["hello", "world"]
//}

@
param rs 行末を示す文字列

@
param chomp 分割した各行に対して String#chomp と同等の結果を得...
...省略した場合は false を指定したとみなされます。

ブロックが指定された場合は String#each_line と同じように動作します。

Ruby
2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

@
see String#each_line...

絞り込み条件を変える

String#gsub!(pattern, replace) -> self | nil (281.0)

文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。

... self を変更して返しますが、
置換が起こらなかった場合は nil を返します。

@
param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@
para...
...と置き換える文字列
@
return 置換した場合は self、置換しなかった場合は nil

//emlist[例][ruby]{
buf = "String-String"
buf.gsub!(/in./, "!!")
p buf # => "Str!!-Str!!"

buf = "String.String"
buf.gsub!(/in./, '<<\&>>')
p buf # => "Str<<ing>>-Str<<ing>>"
//}

注意:

...
...ケープしなければなりません。

//emlist[ひとつめの括弧にマッチした部分に置き換えるときによくやる間違い][ruby]{
'abbbcd'.gsub!(/a(b+)/, "#{$1}") # NG
'abbbcd'.gsub!(/a(b+)/, "\1") # NG
'abbbcd'.gsub!(/a(b+)/, "\\1") # OK
'abbbcd'.gsub...

String#sub!(pattern, replace) -> self | nil (280.0)

文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。

... self を変更して返しますが、
置換が起こらなかった場合は nil を返します。

@
param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@
para...
...と置き換える文字列
@
return 置換した場合は self、置換しなかった場合は nil

//emlist[例][ruby]{
buf = "String-String"
buf.sub!(/in./, "!!")
p buf # => "Str!!-String"

buf = "String.String"
buf.sub!(/in./, '<<\&>>')
p buf # => "Str<<ing>>-String"
//}

注意:

引数 rep...
...ければなりません。

//emlist[ひとつめの括弧にマッチした部分に置き換えるときによくやる間違いと正しい例][ruby]{
'abbbcd'.sub!(/a(b+)/, "#{$1}") # NG
'abbbcd'.sub!(/a(b+)/, "\1") # NG
'abbbcd'.sub!(/a(b+)/, "\\1") # OK
'abbbcd'.sub!(/a...
<< 1 2 3 ... > >>