種類
- インスタンスメソッド (88)
- 文書 (22)
クラス
-
Rake
:: FileList (11) - String (77)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - gsub! (55)
-
ruby 1
. 9 feature (11)
検索結果
先頭5件
-
String
# sub!(pattern , replace) -> self | nil (18113.0) -
文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。
...弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
sub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換える......置換した場合は 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"
//}
注意:
引数 replace の中で $1 を使うことは......sub!(/a(b+)/, "#{$1}") # NG
'abbbcd'.sub!(/a(b+)/, "\1") # NG
'abbbcd'.sub!(/a(b+)/, "\\1") # OK
'abbbcd'.sub!(/a(b+)/, '\\1') # OK
'abbbcd'.sub!(/a(b+)/, '\1') # OK
'abbbcd'.sub!(/a(b+)/) { $1 } # OK これがもっとも安全
//}
@see String#gsub... -
String
# sub!(pattern) {|matched| . . . . } -> self | nil (18108.0) -
文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果へ破壊的に置き換えます。
...は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.sub!(/b/) {|s| s.upcase }
p str #=> "aBcabc"
str = 'abcabc'
str.sub!(/b/) { $&.upcase }
p str #=> "aBcabc"
//}
@see String#gsub... -
String
# sub!(pattern , hash) -> String (18103.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
@return 置換した場合は self、置換しなかった場合は nil -
String
# gsub!(pattern , replace) -> self | nil (12286.0) -
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
...弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
gsub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換え......][ruby]{
buf = "String-String"
buf.gsub!(/in./, "!!")
p buf # => "Str!!-Str!!"
buf = "String.String"
buf.gsub!(/in./, '<<\&>>')
p buf # => "Str<<ing>>-Str<<ing>>"
//}
注意:
引数 replace の中で $1 を使うことはできません。
replace は gsub メソッドの呼び出しより先......くやる間違い][ruby]{
'abbbcd'.gsub!(/a(b+)/, "#{$1}") # NG
'abbbcd'.gsub!(/a(b+)/, "\1") # NG
'abbbcd'.gsub!(/a(b+)/, "\\1") # OK
'abbbcd'.gsub!(/a(b+)/, '\\1') # OK
'abbbcd'.gsub!(/a(b+)/, '\1') # OK
'abbbcd'.gsub!(/a(b+)/) { $1 } # OK これ... -
String
# gsub!(pattern) -> Enumerator (12231.0) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
...は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.upcase }
p str #=> "aBcaBc"
str = 'abcabc'
str.gsub!(/b/) { $&.upcase }
p str #=> "aBcaBc"
//}
@see String#sub... -
String
# gsub!(pattern) {|matched| . . . . } -> self | nil (12231.0) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
...は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.upcase }
p str #=> "aBcaBc"
str = 'abcabc'
str.gsub!(/b/) { $&.upcase }
p str #=> "aBcaBc"
//}
@see String#sub... -
String
# gsub!(pattern , hash) -> self | nil (12231.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。
...ttern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
str = "abcabc"
str.gsub!(/[bc]/){hash[$&]}
p str #=> "aBCaBC"
str = "abcabc"
str.gsub!(/[bc]/, hash)
p str #=> "aBCaBC"
//}... -
Rake
:: FileList # gsub!(pattern , replace) -> self (12223.0) -
自身に含まれるファイルリストのそれぞれのエントリに対して String#gsub を実行します。 自身を破壊的に変更します。
...自身に含まれるファイルリストのそれぞれのエントリに対して String#gsub を実行します。
自身を破壊的に変更します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_......app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.gsub!(/\.rb/, ".erb") # => ["test1.erb", "test2.erb", "test3.erb"]
file_list # => ["test1.erb", "test2.erb", "test3.erb"]
end
//}... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (30.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への変更点(まとめ)/サポートプラットフォームの追加>))
...(<ruby-talk:72732>))
ENV['environ'] = 'value'
ENV['environ'].sub!(/value/, 'VALUE')
p ENV['environ']
=> ruby 1.6.8 (2002-12-24) [i586-linux]
"value"
この例のように sub! のような破壊的メソッドの効果がないため混乱すると......いうのが理由です(ENVが返す文字列を変更しても環境変数自体に影響がない)。
=> -:2:in `sub!': can't modify frozen string (TypeError)
from -:2
ruby 1.8.0 (2003-06-09) [i586-linux]
=== Hash
: ((<Hash#update|Hash/update>)) [compat]......ring/scan>)) [change]
: ((<String#split|String/split>)) [change]
: ((<String#sub|String/sub>)), ((<String#sub!|String/sub!>)) [change]
: ((<String#gsub|String/gsub>)), ((<String#gsub!|String/gsub!>)) [change]
: ((<String#~|String/~>)) [obsolete]
: ((<String#=~|String/=~>)) [obsolete]
: ((<組み込... -
ruby 1
. 9 feature (18.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...e とすると、GC を行えるすべての機会で GC を行います。
=== 2005-12-15
: sub [obsolete]
: gsub [obsolete]
: sub! [obsolete]
: gsub! [obsolete]
: chop [obsolete]
: chop! [obsolete]
: chomp [obsolete]
: chomp! [o...