種類
- インスタンスメソッド (2649)
- 特異メソッド (357)
- モジュール関数 (176)
- 定数 (102)
- クラス (22)
ライブラリ
- ビルトイン (3306)
クラス
-
ARGF
. class (77) - Array (30)
- BasicObject (11)
- Bignum (6)
- Binding (6)
- Data (2)
- Dir (33)
- Encoding (11)
-
Encoding
:: Converter (66) -
Encoding
:: InvalidByteSequenceError (33) - Enumerator (22)
- Exception (29)
- File (55)
- Fixnum (6)
- IO (161)
- Integer (22)
- MatchData (22)
- Method (10)
- Module (337)
- Object (308)
- Random (17)
- Range (17)
- Regexp (44)
- RubyVM (22)
-
RubyVM
:: AbstractSyntaxTree :: Node (6) -
RubyVM
:: InstructionSequence (128) - String (950)
- Struct (33)
- Symbol (349)
- Thread (51)
-
Thread
:: Backtrace :: Location (66) - Time (11)
- TracePoint (22)
- UnboundMethod (88)
モジュール
- Kernel (132)
- Marshal (44)
-
RubyVM
:: AbstractSyntaxTree (8)
オブジェクト
- main (49)
キーワード
- % (11)
- + (11)
- <=> (11)
- == (22)
- === (44)
- =~ (20)
-
INSTRUCTION
_ NAMES (11) - Integer (11)
- OPTS (11)
-
RUBY
_ COPYRIGHT (11) -
RUBY
_ DESCRIPTION (11) -
RUBY
_ ENGINE (11) -
RUBY
_ ENGINE _ VERSION (9) -
RUBY
_ PLATFORM (11) -
RUBY
_ RELEASE _ DATE (11) -
RUBY
_ REVISION (5) -
RUBY
_ VERSION (11) - Symbol (11)
- [] (143)
- []= (22)
-
_ _ id _ _ (11) -
_ dump (11) -
absolute
_ path (33) -
alias
_ method (3) - arity (11)
-
ascii
_ only? (11) - attr (9)
-
attr
_ accessor (3) -
attr
_ reader (3) -
attr
_ writer (3) - backtrace (22)
-
base
_ label (22) - basename (11)
- binread (11)
- binwrite (11)
- byteindex (2)
- byterindex (2)
- bytes (39)
- bytesize (11)
- byteslice (33)
- bytesplice (4)
- capitalize (11)
- casecmp (11)
- casecmp? (16)
- chars (11)
- class (11)
-
class
_ variable _ defined? (11) -
class
_ variable _ get (11) -
class
_ variable _ set (11) - clone (22)
- codepoints (11)
-
compile
_ option (11) -
const
_ defined? (11) -
const
_ get (11) -
const
_ set (11) -
const
_ source _ location (5) - convert (11)
- cover? (17)
- define (2)
-
define
_ method (44) -
define
_ singleton _ method (22) -
destination
_ encoding _ name (11) - disasm (22)
- disassemble (22)
- downcase (11)
- dummy? (11)
- dump (33)
- dup (11)
-
each
_ byte (22) -
each
_ char (11) -
each
_ codepoint (11) -
each
_ grapheme _ cluster (7) - empty? (22)
- encode (33)
- encoding (11)
-
end
_ with? (16) - eql? (22)
-
error
_ bytes (11) - finish (11)
-
for
_ fd (11) - format (11)
- freeze (11)
- getbyte (11)
- getc (11)
- gets (11)
- glob (22)
-
grapheme
_ clusters (7) - gsub (77)
- gsub! (44)
- hash (11)
- id2name (11)
- include? (11)
-
insert
_ output (11) - inspect (105)
-
instance
_ method (11) - intern (22)
- itself (11)
- join (11)
- label (22)
-
last
_ match (22) - length (11)
- load (11)
-
load
_ from _ binary _ extra _ data (9) - match (22)
- match? (16)
- method (11)
-
method
_ defined? (11) -
module
_ function (4) - name (26)
- new (41)
- next (22)
- next! (11)
- oct (11)
- open (22)
- pack (19)
- parse (8)
- path (22)
- pread (7)
- private (27)
-
private
_ method _ defined? (11) - protected (4)
-
protected
_ method _ defined? (11) - public (46)
-
public
_ class _ method (15) -
public
_ constant (11) -
public
_ instance _ method (11) -
public
_ method (11) -
public
_ method _ defined? (11) - putback (22)
- putc (11)
- read (11)
-
read
_ nonblock (22) -
readagain
_ bytes (11) - readline (11)
- readlines (11)
- readpartial (22)
- realdirpath (11)
- realpath (11)
-
remove
_ class _ variable (11) -
remove
_ const (11) - replacement= (11)
- restore (11)
- scan (22)
- scrub (33)
- scrub! (33)
-
set
_ backtrace (11) -
set
_ encoding (66) - setbyte (11)
-
singleton
_ class (11) -
singleton
_ method (11) - size (11)
- slice (121)
- slice! (11)
-
source
_ location (17) - split (17)
- sprintf (11)
-
start
_ with? (16) - status (11)
- strftime (11)
- sub (55)
- sub! (33)
- succ (22)
- succ! (11)
- sum (11)
- swapcase (11)
- sysread (11)
- tainted? (6)
- then (12)
-
thread
_ variable? (11) -
to
_ binary (9) -
to
_ i (11) -
to
_ s (95) -
to
_ str (11) -
to
_ sym (22) - trace (11)
-
try
_ convert (22) -
undef
_ method (11) -
unicode
_ normalized? (10) - union (11)
- unpack (11)
- unpack1 (8)
-
untrace
_ var (11) - upcase (11)
- upto (11)
-
valid
_ encoding? (11) -
values
_ at (11) -
with
_ object (22) -
write
_ nonblock (11) -
yield
_ self (14)
検索結果
先頭5件
-
String
# b -> String (47208.0) -
self の文字エンコーディングを ASCII-8BIT にした文字列の複製を返します。
...self の文字エンコーディングを ASCII-8BIT にした文字列の複製を返します。
//emlist[例][ruby]{
'abc123'.encoding # => #<Encoding:UTF-8>
'abc123'.b.encoding # => #<Encoding:ASCII-8BIT>
//}... -
String (46198.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
...字列リテラルの例をいくつか示します。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(st......r\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q」文字列 (エスケープシーケンスがすべて有効、デリミタが変えられる)
# ヒアドキュメント
<<End
この行はヒアドキュメント
End......も可能
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
End
//}
===[a:mutable] 破壊的な変更
Ruby の String クラスは mutable です。
つまり、オブジェクト自体を破壊的に変更できます。
「破壊的な変更」とは、......、ダブルクオートとの併用も可能
<<~End
この行のインデントは無視される
End
//}
===[a:mutable] 破壊的な変更
Ruby の String クラスは mutable です。
つまり、オブジェクト自体を破壊的に変更できます。
「破壊的な変更」とは、... -
String
# gsub(pattern , replace) -> String (35279.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
...文字列と置き換える文字列
//emlist[例][ruby]{
p 'abcdefg'.gsub(/def/, '!!') # => "abc!!g"
p 'abcabc'.gsub(/b/, '<<\&>>') # => "a<<b>>ca<<b>>c"
p 'xxbbxbb'.gsub(/x+(b+)/, 'X<<\1>>') # => "X<<bb>>X<<bb>>"
p '2.5'.gsub('.', ',') # => "2,5"
//}
注意:
第 2 引数 repla......列が評価される時点ではまだ正規表現マッチが行われておらず、
$1 がセットされていないからです。
また、gsub では「\」が部分文字列との置き換えという特別な意味を持つため、
replace に「\」自身を入れたいときは
「\」......ruby]{
p 'xbbb-xbbb'.gsub(/x(b+)/, "#{$1}") # => "-" # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\1") # => "1-1" # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\\1") # => "bbb-bbb" # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\1') # => "bbb-bbb" # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\\1') # => "bbb-bbb"... -
String
# sub(pattern , replace) -> String (35268.0) -
文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。
...指定した文字列と置き換える文字列
//emlist[例][ruby]{
p 'abcdefg'.sub(/def/, '!!') # => "abc!!g"
p 'abcabc'.sub(/b/, '<<\&>>') # => "a<<b>>cabc"
p 'xxbbxbb'.sub(/x+(b+)/, 'X<<\1>>') # => "X<<bb>>xbb"
//}
注意:
第 2 引数 replace に $1 を埋め込んでも......列が評価される時点ではまだ正規表現マッチが行われておらず、
$1 がセットされていないからです。
また、sub では「\」が部分文字列との置き換えという特別な意味を持つため、
replace に「\」自身を入れたいときは
「\」......ruby]{
p 'xbbb-xbbb'.sub(/x(b+)/, "#{$1}") # => "-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\1") # => "1-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\\1") # => "bbb-xbbb" # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\1') # => "bbb-xbbb" # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\\1') # => "bbb-xbbb"... -
String
# sub(pattern) {|matched| . . . . } -> String (35233.0) -
文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果で置き換えた新しい文字列を返します。 ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
...チした最初の部分をブロックに渡し、
その評価結果で置き換えた新しい文字列を返します。
ブロックなしの sub と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文......字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
//emlist[例][ruby]{
p 'abcabc'.sub(/b/) {|s| s.upcase } #=> "aBcabc"
p 'abcabc'.sub(/b/) { $&.upcase } #=> "aBcabc"
//}
@see String#gsub... -
String
# byterindex(pattern , offset = self . bytesize) -> Integer | nil (35230.0) -
文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。 見つからなければ nil を返します。
...列または正規表現で指定します。
offset が負の場合は、文字列の末尾から数えた位置から探索します。
byterindex と String#byteindex とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません......//emlist[String#byteindex の場合][ruby]{
p "stringstring".byteindex("ing", 1) # => 3
# ing # ここから探索を始める
# ing
# ing # 右にずらしていってここで見つかる
//}
//emlist[String#byterindex の場合][ruby]{
p "stringstring".byterindex......例][ruby]{
'foo'.byterindex('f') # => 0
'foo'.byterindex('o') # => 2
'foo'.byterindex('oo') # => 1
'foo'.byterindex('ooo') # => nil
'foo'.byterindex(/f/) # => 0
'foo'.byterindex(/o/) # => 2
'foo'.byterindex(/oo/) # => 1
'foo'.byterindex(/ooo/) # => nil
# 右でのマッチが優先
'foo'.byterind... -
String
# gsub(pattern) {|matched| . . . . } -> String (35229.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
# gsub(pattern , hash) -> String (35229.0) -
文字列中の 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 (35228.0) -
文字列中の 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
# byteslice(nth , len=1) -> String | nil (35218.0) -
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は nil を返します。
...。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1, 2) # => "el"
"\u3042\u3044\u3046".byteslice(0, 3) # => "\u3042"
//}
@see String#slice
@see String#bytesplice... -
String
# byteslice(range) -> String | nil (35218.0) -
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲 外を指定した場合は nil を返します。
...ェクト
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1..2) # => "el"
"\x03\u3042\xff".byteslice(1..3) # => "\u3042"
//}
@see String#slice
@see String#bytesplice... -
String
# sub!(pattern , hash) -> String (35217.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
@return 置換した場合は self、置換しなかった場合は nil