ライブラリ
クラス
- Array (3)
- Dir (33)
- ERB (22)
-
Encoding
:: Converter (22) -
Encoding
:: InvalidByteSequenceError (11) -
Encoding
:: UndefinedConversionError (11) - Enumerator (22)
- IO (11)
-
JSON
:: State (66) - MatchData (11)
- Method (11)
- Module (22)
-
Net
:: POPMail (99) -
Net
:: Telnet (6) - Object (22)
- OptionParser (33)
-
RDoc
:: Markup (33) - Regexp (44)
-
RubyVM
:: AbstractSyntaxTree :: Node (6) -
RubyVM
:: InstructionSequence (88) - Set (18)
-
Shell
:: Filter (12) - SignalException (11)
- String (110)
- StringIO (11)
- StringScanner (55)
-
Thread
:: Backtrace :: Location (44) - TracePoint (17)
-
WIN32OLE
_ METHOD (77) -
WIN32OLE
_ PARAM (33) -
WIN32OLE
_ TYPE (44) -
WIN32OLE
_ TYPELIB (44) -
WIN32OLE
_ VARIABLE (55) -
Zlib
:: Deflate (11) -
Zlib
:: GzipReader (33) -
Zlib
:: GzipWriter (11)
モジュール
- Base64 (11)
-
ERB
:: Util (44) -
GC
:: Profiler (11) - JSON (22)
-
JSON
:: Generator :: GeneratorMethods :: String (11) - Kernel (85)
- ObjectSpace (11)
- Open3 (44)
- OpenURI (11)
- Shellwords (22)
- Signal (33)
- URI (14)
オブジェクト
- ENV (22)
キーワード
-
$ -I (11) -
$ : (11) -
$ LOAD _ PATH (11) - === (22)
- =~ (11)
- Emitter (11)
- Markup (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) - NoMethodError (11)
- OCSP (11)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
- Rubyの起動 (11)
- ` (11)
-
absolute
_ path (22) -
add
_ html (11) -
add
_ special (11) -
add
_ word _ pair (11) -
alias
_ method (11) - all (33)
-
allocation
_ sourcefile (11) -
base
_ label (22) - bigdecimal (11)
- binwrite (11)
- comment= (11)
- convert (11)
- decode (7)
- decode64 (11)
- deflate (11)
- delete (22)
- disasm (22)
- disassemble (22)
- dump (11)
-
error
_ bytes (11) -
error
_ char (11) -
eval
_ script (6) -
event
_ interface (11) - gets (11)
- gsub (44)
- guid (22)
- h (11)
- help (11)
- helpfile (22)
- helpstring (11)
-
html
_ escape (11) -
insert
_ output (11) - inspect (61)
-
invoke
_ kind (11) - label (11)
-
last
_ match (22) - mail (33)
- mktmpdir (22)
- name (44)
- new (11)
-
object
_ nl (11) -
object
_ nl= (11) -
ole
_ type (22) -
ole
_ type _ detail (11) - open (8)
-
open
_ uri (11) - path (22)
- peek (11)
- peep (11)
-
pipeline
_ rw (22) -
pipeline
_ w (22) - pointer= (11)
- pop (33)
- pos= (11)
-
pretty
_ generate (11) -
pretty
_ unparse (11) - print (2)
- progids (11)
-
rdoc
/ markup / to _ ansi (11) -
rdoc
/ markup / to _ bs (11) -
rdoc
/ markup / to _ html (11) - read (22)
- readline (11)
- result (22)
-
return
_ type (11) - rss (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 8 . 4 feature (11) - shellescape (11)
- shelljoin (11)
- signame (11)
- signm (11)
-
source
_ location (11) - space (11)
- space= (11)
-
space
_ before (11) -
space
_ before= (11) - src (11)
- sub (33)
-
to
_ a (6) -
to
_ csv (3) -
to
_ json (11) -
to
_ s (90) -
trace
_ var (33) - trap (22)
- u (11)
-
undef
_ method (11) - unescape (7)
- unscan (11)
- upto (11)
-
url
_ encode (11) -
variable
_ kind (11) - ver (11)
-
with
_ object (22) - write (2)
- yaml (11)
- クラス/メソッドの定義 (11)
検索結果
先頭5件
-
String
# gsub(pattern , replace) -> String (21147.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
...ックスラッシュを倍にするときによくある間違い][ruby]{
puts '\n'.gsub(/\\/, "\\\\") # => \n # NG
puts '\n'.gsub(/\\/, '\\\\') # => \n # NG
puts '\n'.gsub(/\\/, "\\\\\\\\") # => \\n # OK
puts '\n'.gsub(/\\/, '\\\\\\\\') # => \\n # OK
//}
このような間違い......可読性を上げるには、
\& や \1 よりも下記のようにブロック付き形式の gsub を使うべきです。
//emlist[][ruby]{
p 'xbbb-xbbb'.gsub(/x(b+)/) { $1 } # => "bbb-bbb" # OK
puts '\n'.gsub(/\\/) { '\\\\' } # => \\n # OK
//}
@see String#sub, String#gsub!... -
String
# sub(pattern , replace) -> String (21140.0) -
文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。
...ックスラッシュを倍にするときによくある間違い][ruby]{
puts '\n'.sub(/\\/, "\\\\") # => \n # NG
puts '\n'.sub(/\\/, '\\\\') # => \n # NG
puts '\n'.sub(/\\/, "\\\\\\\\") # => \\n # OK
puts '\n'.sub(/\\/, '\\\\\\\\') # => \\n # OK
//}
このような間違いを......の可読性を上げるには、
\& や \1 よりも下記のようにブロック付き形式の sub を使うべきです。
//emlist[安全な例][ruby]{
p 'xbbb-xbbb'.sub(/x(b+)/) { $1 } # => "bbb-xbbb" # OK
puts '\n'.sub(/\\/) { '\\\\' } # => \\n # OK
//}
@see String#gsub... -
String
# inspect -> String (21137.0) -
文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。 変換された文字列は印字可能な文字のみによって構成されます
...ために用意されています。
永続化などの目的で文字列をダンプしたいときは、
String#dump を使うべきです。
//emlist[例][ruby]{
# p ではないことに注意
puts "string".inspect # => "string"
puts "\t\r\n".inspect # => "\t\r\n"
//}
@see String#dump... -
StringIO
# puts(*obj) -> nil (21129.0) -
obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。 詳しい仕様は Kernel.#puts を参照して下さい。
...は Kernel.#puts を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.puts("hoge", "bar......", "foo")
a.string #=> "hoge\nbar\nfoo\n"
//}... -
String
# gsub(pattern) {|matched| . . . . } -> String (21122.0) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
...表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列
//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
p 'abcabc'.gsub(/[bc]/) { $&.upcase } #=> "aBCaBC"
//}
@see String#sub, String#scan... -
String
# dump -> String (21119.0) -
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。
...字列を返します。
str == eval(str.dump) となることが保証されています。
//emlist[例][ruby]{
# p だとさらにバックスラッシュが増えて見にくいので puts している
puts "abc\r\n\f\x00\b10\\\"".dump # => "abc\r\n\f\000\01010\\\""
//}
@see String#undump... -
String
# sub(pattern) {|matched| . . . . } -> String (21115.0) -
文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果で置き換えた新しい文字列を返します。 ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
...字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
//emlist[例][ruby]{
p 'abcabc'.sub(/b/) {|s| s.upcase } #=> "aBcabc"
p 'abcabc'.sub(/b/) { $&.upcase } #=> "aBcabc"
//}
@see String#gsub... -
String
# dump -> String (21113.0) -
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。
...に置き換えた文字列を返します。
str == eval(str.dump) となることが保証されています。
//emlist[例][ruby]{
# p だとさらにバックスラッシュが増えて見にくいので puts している
puts "abc\r\n\f\x00\b10\\\"".dump # => "abc\r\n\f\000\01010\\\""
//}... -
String
# gsub(pattern , hash) -> String (21112.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
//} -
String
# sub(pattern , hash) -> String (21110.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".sub(/[bc]/){hash[$&]} #=> "aBCabc"
p "abcabc".sub(/[bc]/, hash) #=> "aBCabc"
//} -
String
# upto(max , exclusive = false) {|s| . . . } -> self (21028.0) -
self から始めて max まで 「次の文字列」を順番にブロックに与えて繰り返します。 「次」の定義については String#succ を参照してください。
...「次」の定義については String#succ を参照してください。
たとえば以下のコードは a, b, c, ... z, aa, ... az, ..., za を
出力します。
//emlist[][ruby]{
("a" .. "za").each do |str|
puts str
end
'a'.upto('za') do |str|
puts str
end
//}
@param max 繰り...