別のキーワード
ライブラリ
- ビルトイン (388)
- abbrev (1)
- bigdecimal (6)
-
cgi
/ core (1) - csv (18)
- digest (5)
- erb (4)
-
irb
/ cmd / help (1) - json (19)
-
json
/ add / bigdecimal (1) -
json
/ add / complex (1) -
json
/ add / date (1) -
json
/ add / date _ time (1) -
json
/ add / exception (1) -
json
/ add / range (1) -
json
/ add / rational (1) -
json
/ add / regexp (1) -
json
/ add / struct (1) -
json
/ add / time (1) - kconv (1)
- logger (3)
- matrix (3)
- mkmf (1)
-
net
/ http (22) - open-uri (5)
- openssl (1)
- optparse (38)
- pathname (2)
- psych (1)
- rake (13)
-
rake
/ packagetask (3) -
rexml
/ document (29) - ripper (1)
-
ripper
/ filter (1) -
ripper
/ lexer (3) -
rubygems
/ gem _ path _ searcher (1) -
rubygems
/ installer (1) -
rubygems
/ requirement (3) -
rubygems
/ specification (2) -
rubygems
/ version (2) - set (2)
- socket (1)
- stringio (25)
- strscan (43)
- uri (3)
-
webrick
/ httprequest (1) - win32ole (3)
クラス
-
ARGF
. class (9) - Addrinfo (1)
- Array (9)
- BasicObject (1)
- BigDecimal (7)
- Binding (1)
- CGI (1)
- CSV (6)
-
CSV
:: FieldInfo (1) -
CSV
:: Row (3) -
CSV
:: Table (6) - Complex (3)
- Date (1)
- DateTime (1)
-
Digest
:: Base (5) - Dir (5)
- ERB (4)
- Encoding (5)
-
Encoding
:: Converter (7) -
Encoding
:: InvalidByteSequenceError (1) -
Encoding
:: UndefinedConversionError (1) - Enumerator (2)
- Exception (7)
- FalseClass (2)
- File (2)
-
File
:: Stat (2) - Float (2)
-
Gem
:: GemPathSearcher (1) -
Gem
:: Installer (1) -
Gem
:: Requirement (3) -
Gem
:: Specification (2) -
Gem
:: Version (2) - Hash (2)
- IO (6)
-
IRB
:: ExtendCommand :: Help (1) - Integer (5)
-
JSON
:: Parser (1) -
JSON
:: State (9) - Logger (3)
- MatchData (13)
- Matrix (2)
- Method (3)
- Module (44)
-
Net
:: HTTPGenericRequest (3) -
Net
:: HTTPResponse (7) - NilClass (2)
- Object (16)
-
OpenSSL
:: BN (1) - OptionParser (34)
- Pathname (2)
- Proc (3)
-
Psych
:: ScalarScanner (1) -
REXML
:: Attribute (3) -
REXML
:: Attributes (3) -
REXML
:: CData (2) -
REXML
:: DocType (7) -
REXML
:: Document (3) -
REXML
:: Element (6) -
REXML
:: Entity (1) -
REXML
:: Instruction (2) -
REXML
:: Text (2) -
Rake
:: Application (3) -
Rake
:: FileList (7) -
Rake
:: InvocationChain (1) -
Rake
:: PackageTask (3) - Random (1)
- Range (6)
- Rational (3)
- Regexp (8)
- Ripper (1)
-
Ripper
:: Filter (1) -
Ripper
:: Lexer (3) -
RubyVM
:: AbstractSyntaxTree :: Node (1) -
RubyVM
:: InstructionSequence (8) - Set (2)
- SignalException (1)
- String (182)
- StringIO (25)
- StringScanner (43)
- Struct (3)
- Symbol (6)
- Thread (4)
-
Thread
:: Backtrace :: Location (6) - Time (7)
- TracePoint (3)
- TrueClass (2)
-
URI
:: MailTo (3) - UnboundMethod (4)
- UncaughtThrowError (1)
- Vector (1)
-
WEBrick
:: HTTPRequest (1) -
WIN32OLE
_ TYPE (1) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIANT (1)
モジュール
-
JSON
:: Generator :: GeneratorMethods :: Array (1) -
JSON
:: Generator :: GeneratorMethods :: FalseClass (1) -
JSON
:: Generator :: GeneratorMethods :: Float (1) -
JSON
:: Generator :: GeneratorMethods :: Hash (1) -
JSON
:: Generator :: GeneratorMethods :: Integer (1) -
JSON
:: Generator :: GeneratorMethods :: NilClass (1) -
JSON
:: Generator :: GeneratorMethods :: Object (1) -
JSON
:: Generator :: GeneratorMethods :: String (1) -
JSON
:: Generator :: GeneratorMethods :: TrueClass (1) - Kernel (1)
-
Net
:: HTTPHeader (12) -
OpenURI
:: Meta (5) -
OptionParser
:: Arguable (4) -
Rake
:: TaskManager (2)
キーワード
- % (2)
- * (3)
- + (1)
- +@ (1)
- -@ (1)
- << (2)
- <=> (2)
- == (1)
- === (3)
- =~ (4)
- [] (16)
- []= (7)
-
_ _ id _ _ (1) -
_ dump (2) - abbrev (1)
-
absolute
_ path (2) -
add
_ element (1) -
alias
_ method (1) -
arg
_ config (1) - arity (1)
-
array
_ nl (1) -
as
_ list (1) - asctime (1)
- attr (3)
-
attr
_ accessor (1) -
attr
_ reader (1) -
attr
_ writer (1) -
attribute
_ of (1) - autoload (1)
- autoload? (1)
- b (1)
- backtrace (2)
-
base
_ label (2) -
basic
_ auth (1) -
beginning
_ of _ line? (1) - binread (1)
- body (2)
- bol? (1)
- bytes (3)
- bytesize (1)
- byteslice (3)
- canonname (1)
- capitalize (1)
- capitalize! (1)
- captures (1)
- casecmp (2)
- casecmp? (2)
- center (1)
- charpos (1)
- chars (2)
- charset (2)
- check (1)
-
check
_ until (1) - children (1)
- chomp (1)
- chomp! (1)
- chop (1)
- chop! (1)
- chr (3)
-
class
_ variable _ defined? (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) - clear (2)
- clone (1)
- closed? (1)
- code (1)
- codepoints (2)
- coerce (1)
-
col
_ sep (1) - concat (3)
-
const
_ defined? (1) -
const
_ get (1) -
const
_ source _ location (1) - content (1)
-
content
_ encoding (1) -
content
_ type (2) - convert (1)
- count (1)
- crypt (1)
- ctime (1)
-
datetime
_ format (1) -
default
_ argv (1) -
define
_ method (2) -
define
_ singleton _ method (2) - delete (2)
- delete! (1)
-
delete
_ prefix (1) -
delete
_ prefix! (1) -
delete
_ suffix (1) -
delete
_ suffix! (1) - dev (1)
- digest (1)
- digest! (1)
- disasm (1)
- disassemble (1)
- downcase (1)
- downcase! (1)
- dummy? (1)
- dump (1)
- each (2)
-
each
_ byte (4) -
each
_ char (2) -
each
_ codepoint (2) -
each
_ grapheme _ cluster (2) -
each
_ line (4) - empty? (2)
- encode (3)
- encode! (2)
- encoding (2)
-
end
_ with? (2) - entities (1)
- entity (2)
- environment (1)
- eos? (1)
- eql? (1)
-
error
_ bytes (1) -
error
_ char (1) -
eval
_ script (1) - execute (1)
- exist? (1)
- ext (1)
-
external
_ id (1) - fetch (3)
- filename (4)
- filename= (1)
- finish (1)
-
force
_ encoding (1) -
formatted
_ program _ filename (1) - formatter (1)
- ftype (1)
-
get
_ byte (1) -
get
_ fields (1) - getbyte (3)
- getc (2)
- getch (1)
- gets (4)
-
grapheme
_ clusters (2) - gsub (4)
- gsub! (5)
- hash (2)
- header (2)
- headers (1)
- help (1)
- helpfile (1)
- hex (1)
- hexdigest (1)
- hexdigest! (1)
-
http
_ version (1) - include? (1)
- indent (1)
- indent= (1)
- index (1)
-
inplace
_ mode (1) - insert (1)
-
insert
_ output (1) - inspect (34)
-
instance
_ method (1) - intern (1)
-
is
_ a? (1) - iseuc (1)
- itself (1)
- join (1)
-
kind
_ of? (1) - label (2)
-
last
_ comment (1) -
last
_ description (1) - length (1)
- lex (1)
-
lib
_ dirs _ for (1) - lines (2)
- ljust (1)
- lstrip (1)
- lstrip! (1)
-
main
_ type (1) - match (2)
- match? (2)
- matched (1)
- matched? (1)
-
matched
_ size (1) - method (2)
-
method
_ defined? (1) -
module
_ function (3) - msg (1)
- name (6)
- name= (1)
-
named
_ captures (1) - names (3)
- namespace (2)
- namespaces (2)
- next (1)
- next! (1)
-
object
_ nl (1) -
object
_ nl= (1) - oct (1)
- on (12)
- ord (2)
- order (4)
- order! (4)
-
original
_ dir (1) - pack (2)
-
package
_ dir (1) -
package
_ dir _ path (1) - parse (3)
- parse! (2)
-
parse
_ csv (1) - partition (1)
- path (8)
- pathmap (1)
- peek (1)
- peep (1)
- permute (2)
- permute! (2)
- pointer (1)
- pointer= (1)
- pos (1)
- pos= (2)
-
post
_ match (2) -
pre
_ match (2) - pread (1)
- prefix (1)
- prefixes (2)
- prepend (2)
-
pretty
_ print (1) - print (2)
- printf (1)
- private (4)
-
private
_ class _ method (2) -
private
_ constant (1) -
private
_ method _ defined? (1) - progname (1)
-
program
_ name (1) -
protected
_ method _ defined? (1) -
proxy
_ basic _ auth (1) - public (5)
-
public
_ class _ method (2) -
public
_ constant (1) -
public
_ instance _ method (1) -
public
_ method (1) -
public
_ method _ defined? (1) - putback (2)
- puts (1)
- pwrite (1)
- query (1)
-
quote
_ char (1) - rakefile (1)
- read (2)
-
read
_ body (1) - readbyte (1)
- readchar (2)
- readline (2)
- readlines (4)
- release (1)
-
remove
_ class _ variable (1) - reopen (2)
- replace (1)
- replacement (1)
- replacement= (1)
- reset (1)
- rest (1)
- rest? (1)
-
rest
_ size (1) - restsize (1)
- result (1)
- reverse (1)
- reverse! (1)
- rindex (1)
- rjust (1)
-
row
_ sep (1) - rpartition (1)
- rstrip (1)
- rstrip! (1)
-
rubygems
_ version (1) - scan (3)
-
scan
_ full (1) -
scan
_ until (1) - scrub (3)
- scrub! (3)
-
search
_ full (1) -
set
_ backtrace (1) - setbyte (1)
- shift (1)
- signm (1)
-
singleton
_ class (1) -
singleton
_ method (1) - size (1)
- skip (1)
-
skip
_ until (1) - slice (6)
- slice! (6)
- source (2)
-
source
_ location (4) - space (1)
- space= (1)
-
space
_ before (1) -
space
_ before= (1) - split (3)
- squeeze (1)
- squeeze! (1)
- src (1)
-
stand
_ alone? (1) -
start
_ with? (2) - status (1)
- step (2)
- strftime (1)
- string= (1)
- strip (1)
- strip! (1)
- sub (3)
- sub! (4)
-
sub
_ type (1) - succ (1)
- succ! (1)
- sum (1)
-
summary
_ indent (1) - swapcase (1)
- swapcase! (1)
- system (1)
- syswrite (1)
- target (1)
- terminate (1)
- text (1)
-
to
_ a (2) -
to
_ binary (1) -
to
_ c (1) -
to
_ csv (3) -
to
_ f (1) -
to
_ i (1) -
to
_ json (19) -
to
_ mailtext (1) -
to
_ path (2) -
to
_ r (1) -
to
_ rfc822text (1) -
to
_ ruby (1) -
to
_ s (43) -
to
_ str (2) -
to
_ string (1) -
to
_ sym (1) - tokenize (2)
- tr (1)
-
tr
_ s (1) -
tr
_ s! (1) - truncate (1)
- undump (1)
- ungetc (1)
-
unicode
_ normalize (1) -
unicode
_ normalize! (1) -
unicode
_ normalized? (1) - unpack (1)
- unpack1 (1)
- unscan (1)
- upcase (1)
- upcase! (1)
- upto (1)
-
valid
_ encoding? (1) - value (3)
-
values
_ at (1) - ver (1)
- version (2)
-
with
_ object (2) - write (1)
- xpath (1)
-
yield
_ self (2) - zone (1)
検索結果
先頭5件
-
RubyVM
:: InstructionSequence # to _ binary(extra _ data = nil) -> String (105979.0) -
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。 RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。
RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
引数の extra_data はバイナリデータと共に保存されます。
RubyVM::InstructionSequence.load_from_binary_extra_data メソッドでこの文字列にアクセス出来ます。
注意: 変換後のバイナリデータはポータブルではありません。 to_binary で得たバイナリデータは他のマシンに移動できません。他... -
RubyVM
:: InstructionSequence # inspect -> String (105943.0) -
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
iseq.inspect # => "<RubyVM::InstructionSequence:<compiled>@<compiled>>"
//}
@see RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#path -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (96943.0) -
self のデバッグ用の情報を含んだ文字列を返します。
self のデバッグ用の情報を含んだ文字列を返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
puts node.inspect
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:5>
//} -
RubyVM
:: InstructionSequence # disasm -> String (96610.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # disassemble -> String (96610.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
StringScanner
# string -> String (91552.0) -
スキャン対象にしている文字列を返します。
スキャン対象にしている文字列を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.string # => "test string"
//}
返り値は freeze されていません。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.string.frozen? # => false
//}
なお、このメソッドは StringScanner.new に渡した
文字列をその... -
StringIO
# string -> String (91264.0) -
自身が表す文字列を返します。
自身が表す文字列を返します。
返されるのは生成時に与えられたバッファとして使われている文字列です。
文字列は複製されないことに注意して下さい。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.new
sio << "abc"
s = sio.string
p s #=> "abc"
sio << "xyz"
p s #=> "abcxyz"
//} -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (87607.0) -
self が表す命令シーケンスの絶対パスを返します。
self が表す命令シーケンスの絶対パスを返します。
self を文字列から作成していた場合は nil を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.... -
RubyVM
:: InstructionSequence # base _ label -> String (87607.0) -
self が表す命令シーケンスの基本ラベルを返します。
self が表す命令シーケンスの基本ラベルを返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.base_label
# => "<compiled>"
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.rb
def hello
puts "h... -
RubyVM
:: InstructionSequence # label -> String (87607.0) -
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、 モジュール名などで構成されます。
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
モジュール名などで構成されます。
トップレベルでは "<main>" を返します。self を文字列から作成していた場合
は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.label
# => "<compiled>"
例2: R... -
RubyVM
:: InstructionSequence # path -> String (87607.0) -
self が表す命令シーケンスの相対パスを返します。
self が表す命令シーケンスの相対パスを返します。
self の作成時に指定した文字列を返します。self を文字列から作成していた
場合は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"
例2: RubyVM::InstructionSequence.compi... -
MatchData
# string -> String (73264.0) -
マッチ対象になった文字列の複製を返します。
マッチ対象になった文字列の複製を返します。
返す文字列はフリーズ(Object#freeze)されています。
//emlist[例][ruby]{
m = /(.)(.)(\d+)(\d)/.match("THX1138.")
m.string # => "THX1138."
//} -
StringScanner
# beginning _ of _ line? -> bool (72940.0) -
スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。
スキャンポインタが行頭を指しているなら true を、
行頭以外を指しているなら false を返します。
行頭の定義は、文字列先頭かまたは \n の直後を指していることです。
文字列末尾は必ずしも行頭ではありません。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new("test\nstring")
s.bol? # => true
s.scan(/\w+/)
s.bol? # => false
s.scan(/\n/)
s.bol? # => true
s.scan(/\w+/... -
Gem
:: Specification # rubygems _ version -> String (55207.0) -
この Gem パッケージを作成した RubyGems のバージョンを返します。
この Gem パッケージを作成した RubyGems のバージョンを返します。 -
String
# lines(rs = $ / , chomp: false) -> [String] (55105.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 には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指
定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するとこ
ろで文字列を分割します (つまり空行で分割します)。
... -
String
# inspect -> String (55051.0) -
文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。 変換された文字列は印字可能な文字のみによって構成されます
文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。
変換された文字列は印字可能な文字のみによって構成されます
現在の実装では、Ruby のリテラル形式を使って、
文字列中の不可視文字をエスケープシーケンスに変換します。
このメソッドは主にデバッグのために用意されています。
永続化などの目的で文字列をダンプしたいときは、
String#dump を使うべきです。
//emlist[例][ruby]{
# p ではないことに注意
puts "string".inspect # => "string"
puts "\t\r\n".inspect ... -
String
# lines(rs = $ / , chomp: false) {|line| . . . } -> self (54805.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 には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指
定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するとこ
ろで文字列を分割します (つまり空行で分割します)。
... -
String
# rindex(pattern , pos = self . size) -> Integer | nil (54784.0) -
文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッドも左から右に向かって行います。
以下の例を参照して... -
String
# codepoints -> [Integer] (54748.0) -
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}
ブロックが指定された場合は String#each_codepoint と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#e... -
String
# codepoints {|codepoint| block } -> self (54748.0) -
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}
ブロックが指定された場合は String#each_codepoint と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#e... -
StringScanner
# string=(str) (54679.0) -
スキャン対象の文字列を str に変更して、マッチ記録を捨てます。
スキャン対象の文字列を str に変更して、マッチ記録を捨てます。
@param str スキャン対象の文字列を str に変更して、マッチ記録を捨てます。
@return str を返します。
//emlist[例][ruby]{
require 'strscan'
str = '0123'
s = StringScanner.new('test string')
s.string = str # => "0123"
s.scan(/\w+/) # => "0123"
//} -
String
# each _ codepoint {|codepoint| block } -> self (54658.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ line(rs = $ / , chomp: false) {|line| . . . } -> self (54658.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
@param chomp true を指定すると各行の末尾から rs を取り除きます。
//emlist[例][ruby]{
"aa\nbb\ncc\n".each_... -
String
# index(pattern , pos = 0) -> Integer | nil (54658.0) -
文字列のインデックス pos から右に向かって pattern を検索し、 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から右に向かって pattern を検索し、
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合、文字列の末尾から数えた位置から探索します。
@param pattern 探索する部分文字列または正規表現
@param pos 探索を開始するインデックス
//emlist[例][ruby]{
p "astrochemistry".index("str") # => 1
p "reg... -
String
# encoding -> Encoding (54640.0) -
文字列のエンコーディング情報を表現した Encoding オブジェクトを返します。
文字列のエンコーディング情報を表現した Encoding オブジェクトを返します。
//emlist[例][ruby]{
# encoding: utf-8
utf8_str = "test"
euc_str = utf8_str.encode("EUC-JP")
utf8_str.encoding # => #<Encoding:UTF-8>
euc_str.encoding # => #<Encoding:EUC-JP>
//}
@see Encoding -
String
# force _ encoding(encoding) -> self (54640.0) -
文字列の持つエンコーディング情報を指定された encoding に変えます。
文字列の持つエンコーディング情報を指定された encoding に変えます。
このとき実際のエンコーディングは変換されず、検査もされません。
Array#pack などで得られたバイト列のエンコーディングを指定する時に使います。
@param encoding 変更するエンコーディング情報を表す文字列か Encoding オブジェクトを指定します。
//emlist[例][ruby]{
s = [164, 164, 164, 237, 164, 207].pack("C*")
p s.encoding #=> ASC... -
String
# each _ codepoint -> Enumerator (54358.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ line(rs = $ / , chomp: false) -> Enumerator (54358.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
@param chomp true を指定すると各行の末尾から rs を取り除きます。
//emlist[例][ruby]{
"aa\nbb\ncc\n".each_... -
String
# insert(pos , other) -> self (54358.0) -
pos 番目の文字の直前に文字列 other を挿入します。 self[pos, 0] = other と同じ操作です。
pos 番目の文字の直前に文字列 other を挿入します。
self[pos, 0] = other と同じ操作です。
@param pos 文字列を挿入するインデックス
@param other 挿入する文字列
//emlist[例][ruby]{
str = "foobaz"
str.insert(3, "bar")
p str # => "foobarbaz"
//}
@see String#[]= -
String
# include?(substr) -> bool (54340.0) -
文字列中に部分文字列 substr が含まれていれば真を返します。
文字列中に部分文字列 substr が含まれていれば真を返します。
@param substr 検索する文字列
//emlist[例][ruby]{
"hello".include? "lo" #=> true
"hello".include? "ol" #=> false
"hello".include? ?h #=> true
//} -
String
# intern -> Symbol (54340.0) -
文字列に対応するシンボル値 Symbol を返します。
文字列に対応するシンボル値 Symbol を返します。
なお、このメソッドの逆にシンボルに対応する文字列を得るには
Symbol#to_s または Symbol#id2name を使います。
シンボル文字列にはヌルキャラクタ("\0")、空の文字列の使用も可能です。
//emlist[例][ruby]{
p "foo".intern # => :foo
p "foo".intern.to_s == "foo" # => true
//} -
String
# valid _ encoding? -> bool (54340.0) -
文字列の内容が、現在のエンコーディングに照らしあわせて妥当であれば true を返します。さもなくば false を返します。
文字列の内容が、現在のエンコーディングに照らしあわせて妥当であれば
true を返します。さもなくば false を返します。
//emlist[例][ruby]{
"\xc2\xa1".force_encoding("UTF-8").valid_encoding? #=> true
"\xc2".force_encoding("UTF-8").valid_encoding? #=> false
"\x80".force_encoding("UTF-8").valid_encoding? #=> false
//} -
Gem
:: Specification # to _ ruby -> String (46309.0) -
自身を再現するための Ruby スクリプトを文字列で返します。
自身を再現するための Ruby スクリプトを文字列で返します。
省略されている値はデフォルト値が使用されます。 -
String
# split(sep = $ ; , limit = 0) -> [String] (46303.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
String
# partition(sep) -> [String , String , String] (46285.0) -
セパレータ sep が最初に登場する部分で self を 3 つに分割し、 [最初のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。
セパレータ sep が最初に登場する部分で self を 3 つに分割し、
[最初のセパレータより前の部分, セパレータ, それ以降の部分]
の 3 要素の配列を返します。
self がセパレータを含まないときは、
返り値の第 2 要素と第 3 要素が空文字列になります。
@param sep セパレータを表す文字列か正規表現を指定します。
//emlist[例][ruby]{
p "axaxa".partition("x") # => ["a", "x", "axa"]
p "aaaaa".partition("x") # => ["aaaaa", "", ""]
p ... -
String
# rpartition(sep) -> [String , String , String] (46285.0) -
セパレータ sep が最後に登場する部分で self を 3 つに分割し、 [最後のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。
セパレータ sep が最後に登場する部分で self を 3 つに分割し、
[最後のセパレータより前の部分, セパレータ, それ以降の部分]
の 3 要素の配列を返します。
self がセパレータを含まないときは、
返り値の第 1 要素と第 2 要素が空文字列になります。
@param sep セパレータを表す文字列か正規表現を指定します。
//emlist[例][ruby]{
p "axaxa".rpartition("x") # => ["axa", "x", "a"]
p "aaaaa".rpartition("x") # => ["", "", "aaaaa"]
... -
String
# delete _ suffix(suffix) -> String (46033.0) -
文字列の末尾から suffix を削除した文字列のコピーを返します。
文字列の末尾から suffix を削除した文字列のコピーを返します。
@param suffix 末尾から削除する文字列を指定します。
@return 文字列の末尾から suffix を削除した文字列のコピー
//emlist[][ruby]{
"hello".delete_suffix("llo") # => "he"
"hello".delete_suffix("hel") # => "hello"
//}
@see String#chomp
@see String#chop
@see String#delete_prefix
@see String#delete_suffix!
... -
String
# split(sep = $ ; , limit = 0) {|s| . . . } -> self (46003.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
String
# delete _ prefix(prefix) -> String (45997.0) -
文字列の先頭から prefix を削除した文字列のコピーを返します。
文字列の先頭から prefix を削除した文字列のコピーを返します。
@param prefix 先頭から削除する文字列を指定します。
@return 文字列の先頭から prefix を削除した文字列のコピー
//emlist[][ruby]{
"hello".delete_prefix("hel") # => "lo"
"hello".delete_prefix("llo") # => "hello"
//}
@see String#delete_prefix!
@see String#delete_suffix
@see String#start_with? -
String
# slice!(first . . . last) -> String (45850.0) -
指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。
指定した範囲 (String#[] 参照) を
文字列から取り除いたうえで取り除いた部分文字列を返します。
引数が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
string #=> "thing"
... -
String
# slice!(first . . last) -> String (45850.0) -
指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。
指定した範囲 (String#[] 参照) を
文字列から取り除いたうえで取り除いた部分文字列を返します。
引数が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
string #=> "thing"
... -
String
# slice!(nth) -> String (45850.0) -
指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。
指定した範囲 (String#[] 参照) を
文字列から取り除いたうえで取り除いた部分文字列を返します。
引数が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
string #=> "thing"
... -
String
# slice!(pos , len) -> String (45850.0) -
指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。
指定した範囲 (String#[] 参照) を
文字列から取り除いたうえで取り除いた部分文字列を返します。
引数が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
string #=> "thing"
... -
String
# slice!(regexp , nth = 0) -> String (45850.0) -
指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。
指定した範囲 (String#[] 参照) を
文字列から取り除いたうえで取り除いた部分文字列を返します。
引数が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
string #=> "thing"
... -
String
# slice!(substr) -> String (45850.0) -
指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。
指定した範囲 (String#[] 参照) を
文字列から取り除いたうえで取り除いた部分文字列を返します。
引数が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
string #=> "thing"
... -
String
# to _ i(base = 10) -> Integer (45847.0) -
文字列を 10 進数表現された整数であると解釈して、整数に変換します。
文字列を 10 進数表現された整数であると解釈して、整数に変換します。
//emlist[例][ruby]{
p " 10".to_i # => 10
p "+10".to_i # => 10
p "-10".to_i # => -10
p "010".to_i # => 10
p "-010".to_i # => -10
//}
整数とみなせない文字があればそこまでを変換対象とします。
変換対象が空文字列であれば 0 を返します。
//emlist[例][ruby]{
p "0x11".to_i # => 0
p "".to_i # =>... -
String
# slice(range) -> String (45745.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の対照図も参照してください。
0 1 2 3 4 5 (インデックス)
-6 -5 -4 -3 -2 -1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => '... -
String
# capitalize(*options) -> String (45733.0) -
文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。
文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。
@param options オプションの詳細は String#downcase を参照してください。
//emlist[例][ruby]{
p "foobar--".capitalize # => "Foobar--"
p "fooBAR--".capitalize # => "Foobar--"
p "FOOBAR--".capitalize # => "Foobar--"
//}
@see String#capitalize!, String#upcase,
String#downcase... -
String
# delete _ suffix!(suffix) -> self | nil (45730.0) -
self の末尾から破壊的に suffix を削除します。
self の末尾から破壊的に suffix を削除します。
@param suffix 末尾から削除する文字列を指定します。
@return 削除した場合は self、変化しなかった場合は nil
//emlist[][ruby]{
"hello".delete_suffix!("llo") # => "he"
"hello".delete_suffix!("hel") # => nil
//}
@see String#chomp!
@see String#chop!
@see String#delete_prefix!
@see String#delete_suffix
@see S... -
String
# slice(nth) -> String | nil (45730.0) -
nth 番目の文字を返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目の文字を返します。
nth 番目の文字を返します。
nth が負の場合は文字列の末尾から数えます。
つまり、 self.size + nth 番目の文字を返します。
nth が範囲外を指す場合は nil を返します。
@param nth 文字の位置を表す整数
@return 指定した位置の文字を表す String オブジェクト
//emlist[例][ruby]{
p 'bar'[2] # => "r"
p 'bar'[2] == ?r # => true
p 'bar'[-1] # => "r"
p 'bar'[3] # => nil
p 'bar'[-4] ... -
String
# slice(nth , len) -> String | nil (45715.0) -
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。
@param nth 取得したい文字列の開始インデックスを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return nth が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
str0 = "bar"
str0[2, 1] #=> "r"
str0[2, 0] #=> ""
str0[2, 100] #=> "r" (右側を超えても... -
String
# slice(regexp , name) -> String (45715.0) -
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返 します。
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返
します。
@param regexp 正規表現を指定します。
@param name 取得したい部分文字列のパターンを示す正規表現レジスタを示す名前
@raise IndexError name に対応する括弧がない場合に発生します。
//emlist[例][ruby]{
s = "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/] # => "FooBar"
s[/(... -
String
# slice(regexp , nth = 0) -> String (45715.0) -
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。 nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。 正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。
正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
このメソッドを実行すると、
マッチ結果に関する情報が組み込み変数 $~ に設定されます。
@param regexp 取得したい文字列のパターンを示す正規表現
@param nth 取得したい正規表現レジスタのインデックス。整数
//emlist[例][ruby]{
p "foobar"[/b... -
String
# slice(substr) -> String | nil (45715.0) -
self が substr を含む場合、一致した文字列を新しく作って返します。 substr を含まなければ nil を返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
substr を含まなければ nil を返します。
@param substr 取得したい文字列のパターン。文字列
//emlist[例][ruby]{
substr = "bar"
result = "foobar"[substr]
p result # => "bar"
p substr.equal?(result) # => false
//} -
String
# delete _ prefix!(prefix) -> self | nil (45694.0) -
self の先頭から破壊的に prefix を削除します。
self の先頭から破壊的に prefix を削除します。
@param prefix 先頭から削除する文字列を指定します。
@return 削除した場合は self、変化しなかった場合は nil
//emlist[][ruby]{
"hello".delete_prefix!("hel") # => "lo"
"hello".delete_prefix!("llo") # => nil
//}
@see String#delete_prefix
@see String#delete_suffix!
@see String#start_with? -
String
# byteslice(nth) -> String | nil (45685.0) -
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。 引数が範囲外を指定した場合は nil を返します。
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。
引数が範囲外を指定した場合は nil を返します。
@param nth 文字の位置を表す整数を指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1) # => "e"
"hello".byteslice(-1) # => "o"
"\u3042".byteslice(0) # => "\xE3"
"\u3042".byteslice(1) # => "\x... -
String
# byteslice(nth , len=1) -> String | nil (45685.0) -
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は nil を返します。
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は
nil を返します。
@param nth 取得したい文字列の開始バイトを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1, 2) # => "el"
"\u3042\u3044\u... -
String
# byteslice(range) -> String | nil (45685.0) -
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲 外を指定した場合は nil を返します。
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲
外を指定した場合は nil を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1..2) # => "el"
"\x03\u3042\xff".byteslice(1..3) # => "\u3042"
//}
@see String#slice -
String
# lstrip -> String (45679.0) -
文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。
空白文字の定義は " \t\r\n\f\v\0" です。
//emlist[例][ruby]{
p " abc\n".lstrip #=> "abc\n"
p "\t abc\n".lstrip #=> "abc\n"
p "abc\n".lstrip #=> "abc\n"
//}
@see String#strip, String#rstrip -
String
# rstrip -> String (45679.0) -
文字列の末尾にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の末尾にある空白文字を全て取り除いた新しい文字列を返します。
空白文字の定義は " \t\r\n\f\v\0" です。
//emlist[例][ruby]{
p " abc\n".rstrip #=> " abc"
p " abc \t\r\n\0".rstrip #=> " abc"
p " abc".rstrip #=> " abc"
p " abc\0 ".rstrip #=> " abc"
str = "abc\n"
p str.rstrip #=> "abc"
p str ... -
String
# strip -> String (45679.0) -
文字列先頭と末尾の空白文字を全て取り除いた文字列を生成して返します。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列先頭と末尾の空白文字を全て取り除いた文字列を生成して返します。
空白文字の定義は " \t\r\n\f\v\0" です。
//emlist[例][ruby]{
p " abc \r\n".strip #=> "abc"
p "abc\n".strip #=> "abc"
p " abc".strip #=> "abc"
p "abc".strip #=> "abc"
p " \0 abc \0".strip #=> "abc"
str = "\tabc\n"
p str.strip ... -
String
# unicode _ normalize(form = :nfc) -> String (45679.0) -
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し た文字列を返します。
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し
た文字列を返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@raise Encoding::CompatibilityError self が Unicode 文字列ではない場合
に発生します。
このメソッドでの "Unicode 文字列" とは、UTF-8、UTF-16BE/LE... -
String
# start _ with?(*prefixes) -> bool (45484.0) -
self の先頭が prefixes のいずれかであるとき true を返します。
self の先頭が prefixes のいずれかであるとき true を返します。
@param prefixes パターンを表す文字列または正規表現 (のリスト)
//emlist[例][ruby]{
"string".start_with?("str") # => true
"string".start_with?("ing") # => false
"string".start_with?("ing", "str") # => true
"string".start_with?(/\w/) # => true
"strin... -
String
# end _ with?(*strs) -> bool (45448.0) -
self の末尾が strs のいずれかであるとき true を返します。
self の末尾が strs のいずれかであるとき true を返します。
@param strs パターンを表す文字列 (のリスト)
//emlist[例][ruby]{
"string".end_with?("ing") # => true
"string".end_with?("str") # => false
"string".end_with?("str", "ing") # => true
//}
@see String#start_with?
@see String#delete_suffix, String#delete_s... -
String
# capitalize!(*options) -> self | nil (45430.0) -
文字列先頭の文字を大文字に、残りを小文字に破壊的に変更します。
文字列先頭の文字を大文字に、残りを小文字に破壊的に変更します。
@param options オプションの詳細は String#downcase を参照してください。
@return capitalize! は self を変更して返しますが、
変更が起こらなかった場合は nil を返します。
//emlist[例][ruby]{
str = "foobar"
str.capitalize!
p str # => "Foobar"
str = "fooBAR"
str.capitalize!
p str # => "Foobar"
//}
@see Stri... -
String
# rstrip! -> self | nil (45376.0) -
文字列の末尾にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の末尾にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
//emlist[例][ruby]{
str = " abc\n"
p str.rstrip! # => " abc"
p str # => " abc"
str = " abc \r\n\t\v\0"
p str.rstrip! # => " abc"
p str # => " abc"
//}
@see String#rstrip, String#lstrip -
String
# strip! -> self | nil (45376.0) -
先頭と末尾の空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
先頭と末尾の空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
strip! は、内容を変更した self を返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc\r\n"
p str.strip! #=> "abc"
p str #=> "abc"
str = "abc"
p str.strip! #=> nil
p str #=> "abc"
str = " \0 abc \0"
str.st... -
String
# unicode _ normalize!(form = :nfc) -> self (45376.0) -
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し た文字列に置き換えます。
self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し
た文字列に置き換えます。
(gsub!などと異なり)変換が行なわれなくても self を返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@raise Encoding::CompatibilityError self が Unicode 文字列ではない場合
に発生します。
//e... -
String
# unicode _ normalized?(form = :nfc) -> bool (45376.0) -
self が引数 form で指定された正規化形式で Unicode 正規化された文字列か どうかを返します。
self が引数 form で指定された正規化形式で Unicode 正規化された文字列か
どうかを返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@raise Encoding::CompatibilityError self が Unicode 文字列ではない場合
に発生します。
//emlist[例][ruby]{
"a\u0300".unicode_normalized? ... -
String
# bytesize -> Integer (45358.0) -
文字列のバイト長を整数で返します。
文字列のバイト長を整数で返します。
//emlist[例][ruby]{
#coding:UTF-8
# 実行結果は文字コードによって異なります。
p "いろは".size #=> 3
p "いろは".bytesize #=> 9
//}
@see String#size -
String
# size -> Integer (45358.0) -
文字列の文字数を返します。バイト数を知りたいときは bytesize メソッドを使ってください。
文字列の文字数を返します。バイト数を知りたいときは bytesize メソッドを使ってください。
//emlist[例][ruby]{
"test".length # => 4
"test".size # => 4
"テスト".length # => 3
"テスト".size # => 3
"\x80\u3042".length # => 2
"\x80\u3042".size # => 2
//}
@see String#bytesize -
String
# iseuc -> bool (45340.0) -
self が EUC-JP なバイト列として正当であるかどうかを判定します。
self が EUC-JP なバイト列として正当であるかどうかを判定します。
Kconv.#iseuc(self) と同じです。
//emlist[例][ruby]{
require 'kconv'
euc_str = "\
\xa5\xaa\xa5\xd6\xa5\xb8\xa5\xa7\xa5\xaf\xa5\xc8\xbb\xd8\xb8\xfe\
\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\
\x52\x75\x62\x79".force_encoding('EUC-JP')
... -
String
# lstrip! -> self | nil (45340.0) -
文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の先頭にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
lstrip! は self を変更して返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc"
p str.lstrip! # => "abc"
p str # => "abc"
str = "abc"
p str.lstrip! # => nil
p str # => "abc"
//} -
String
# to _ sym -> Symbol (45040.0) -
文字列に対応するシンボル値 Symbol を返します。
文字列に対応するシンボル値 Symbol を返します。
なお、このメソッドの逆にシンボルに対応する文字列を得るには
Symbol#to_s または Symbol#id2name を使います。
シンボル文字列にはヌルキャラクタ("\0")、空の文字列の使用も可能です。
//emlist[例][ruby]{
p "foo".intern # => :foo
p "foo".intern.to_s == "foo" # => true
//} -
StringScanner
# bol? -> bool (45040.0) -
スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。
スキャンポインタが行頭を指しているなら true を、
行頭以外を指しているなら false を返します。
行頭の定義は、文字列先頭かまたは \n の直後を指していることです。
文字列末尾は必ずしも行頭ではありません。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new("test\nstring")
s.bol? # => true
s.scan(/\w+/)
s.bol? # => false
s.scan(/\n/)
s.bol? # => true
s.scan(/\w+/... -
String
# unpack(template) -> Array (40090.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...# NaN
[1.0/0.0].pack("f") # => "\x7F\x80\x00\x00" # +Infinity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}
: d
倍精度浮動小数点数(機種依存)
x86_64 (IEEE754 倍......"\x7F\xF0\x00\x00\x00\x00\x00\x00" # +Infinity
[-1.0/0.0].pack("d") # => "\xFF\xF0\x00\x00\x00\x00\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("d") # => "\x80@\x00\x00\x00\x00\x00\x00"
//}
: e
リトルエンディアンの単精度浮動小... -
String
# %(args) -> String (38173.0) -
printf と同じ規則に従って args をフォーマットします。
printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@return フォーマットされた文字列
//emlist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10... -
String
# encode(encoding , from _ encoding , **options) -> String (37285.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
REXML
:: Attribute # to _ string -> String (37264.0) -
"name='value'" という形式の文字列を返します。
"name='value'" という形式の文字列を返します。
//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("el")
e.add_attribute("ns:r", "rval")
p e.attributes.get_attribute("r").to_string # => "ns:r='rval'"
//} -
String
# scan(pattern) -> [String] | [[String]] (37252.0) -
self に対して pattern を繰り返しマッチし、 マッチした部分文字列の配列を返します。
self に対して pattern を繰り返しマッチし、
マッチした部分文字列の配列を返します。
pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした部分文字列の配列の配列を返します。
@param pattern 探索する部分文字列または正規表現
//emlist[例][ruby]{
p "foobar".scan(/../) # => ["fo", "ob", "ar"]
p "foobar".scan("o") # => ["o", "o"]
p "foobarbazfoobarbaz".sc... -
String
# parse _ csv(**options) -> [String] (37075.0) -
CSV.parse_line(self, options) と同様です。
...# => ["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... -
String
# encode(encoding , **options) -> String (36985.0) -
self を指定したエンコーディングに変換した文字列を作成して返します。引数 を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな くば self のエンコーディングが使われます。 無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
self を指定したエンコーディングに変換した文字列を作成して返します。引数
を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
くば self のエンコーディングが使われます。
無引数の場合は、Encoding.default_internal が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か Encoding オブジェクトを... -
StringScanner
# inspect -> String (36979.0) -
StringScannerオブジェクトを表す文字列を返します。
StringScannerオブジェクトを表す文字列を返します。
文字列にはクラス名の他、以下の情報が含まれます。
* スキャナポインタの現在位置。
* スキャン対象の文字列の長さ。
* スキャンポインタの前後にある文字。上記実行例の @ がスキャンポインタを表します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.inspect # => "#<StringScanner 0/11 @ \"test ..... -
StringIO
# readline(rs = $ / ) -> String (36943.0) -
自身から 1 行読み込んで、その文字列を返します。
自身から 1 行読み込んで、その文字列を返します。
文字列の終端に到達した時には、例外 EOFError を発生させます。
IO#readline と違い読み込んだ文字列を変数 $_ にセットしません。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise EOFError 文字列の終端に到達した時に発生します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][rub... -
StringIO
# readlines(rs = $ / ) -> [String] (36943.0) -
自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。 既に文字列の終端に達していれば空配列 [] を返します。
自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。
既に文字列の終端に達していれば空配列 [] を返します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\nbar\n")
a.readlines ... -
String
# chr -> String (36931.0) -
self の最初の文字だけを含む文字列を返します。
self の最初の文字だけを含む文字列を返します。
//emlist[例][ruby]{
a = "abcde"
a.chr #=> "a"
//}
Ruby 1.9 で IO#getc の戻り値が Integer から String を返すように変更になりました。
Ruby 1.8 以前と1.9以降の互換性を保つために String#chr が存在します。
例:
# ruby 1.8 系では STDIN.getc が 116 を返すため Integer#chr が呼び出される
$ echo test | ruby -e "p STDIN.getc.chr" # => ... -
String
# downcase(*options) -> String (36841.0) -
全ての大文字を対応する小文字に置き換えた文字列を返します。 どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
全ての大文字を対応する小文字に置き換えた文字列を返します。
どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの意味は以下の通りです。
: オプションなし
完全な Unicode ケースマッピングに対応し、ほとんどの言語に適しています。(例外は以下の :turkic,
:lithuanian オプションを参照)
Unicode 標準の表 3-14 で説明されている、コンテキスト依存のケースマッピングは、現在サポートされていません。
: :ascii
ASCII の範囲内のみ (A-Z, a... -
String
# gsub(pattern , replace) -> String (36811.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した... -
String
# upcase(*options) -> String (36805.0) -
全ての小文字を対応する大文字に置き換えた文字列を返します。 どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
全ての小文字を対応する大文字に置き換えた文字列を返します。
どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は String#downcase を参照してください。
//emlist[例][ruby]{
p "stRIng? STring.".upcase # => "STRING? STRING."
//}
@see String#upcase!, String#downcase,
String#swapcase, String#capitalize -
String
# next -> String (36790.0) -
self の「次の」文字列を返します。
self の「次の」文字列を返します。
「次の」文字列は、対象の文字列の右端から
アルファベットなら アルファベット順(aの次はb, zの次はa, 大文字も同様)に、
数字なら 10 進数(9 の次は 0)とみなして計算されます。
//emlist[][ruby]{
p "aa".succ # => "ab"
p "88".succ.succ # => "90"
//}
"99" → "100", "AZZ" → "BAA" のような繰り上げも行われます。
このとき負符号などは考慮されません。
//emlist[][ruby]{
p "99".succ # =>... -
String
# sub(pattern , replace) -> String (36790.0) -
文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチした最初の部分を
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定し... -
String
# succ -> String (36790.0) -
self の「次の」文字列を返します。
self の「次の」文字列を返します。
「次の」文字列は、対象の文字列の右端から
アルファベットなら アルファベット順(aの次はb, zの次はa, 大文字も同様)に、
数字なら 10 進数(9 の次は 0)とみなして計算されます。
//emlist[][ruby]{
p "aa".succ # => "ab"
p "88".succ.succ # => "90"
//}
"99" → "100", "AZZ" → "BAA" のような繰り上げも行われます。
このとき負符号などは考慮されません。
//emlist[][ruby]{
p "99".succ # =>... -
String
# chop -> String (36787.0) -
文字列の最後の文字を取り除いた新しい文字列を生成して返します。 ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。
文字列の最後の文字を取り除いた新しい文字列を生成して返します。
ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。
//emlist[例][ruby]{
p "string\n".chop # => "string"
p "string\r\n".chop # => "string"
p "string".chop # => "strin"
p "strin".chop # => "stri"
p "".chop # => ""
//}
@see String#chomp
@see String#chop!
@... -
String
# tr(pattern , replace) -> String (36787.0) -
pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に置き換えます。
pattern 文字列に含まれる文字を検索し、
それを replace 文字列の対応する文字に置き換えます。
pattern の形式は tr(1) と同じです。つまり、
`a-c' は a から c を意味し、"^0-9" のように
文字列の先頭が `^' の場合は指定文字以外が置換の対象になります。
replace に対しても `-' による範囲指定が可能です。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
`^' も文字列の先頭にあるときにだけ否定の効果を発揮します。
また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。
... -
String
# chars -> [String] (36751.0) -
文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)
文字列の各文字を文字列の配列で返します。(self.each_char.to_a と同じです)
//emlist[例][ruby]{
"hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]
//}
ブロックが指定された場合は String#each_char と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_char -
String
# grapheme _ clusters -> [String] (36751.0) -
文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)
文字列の書記素クラスタの配列を返します。(self.each_grapheme_cluster.to_a と同じです)
//emlist[例][ruby]{
"a\u0300".grapheme_clusters # => ["à"]
//}
ブロックが指定された場合は String#each_grapheme_cluster と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_grapheme_cluster -
String
# [](range) -> String (36745.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の対照図も参照してください。
0 1 2 3 4 5 (インデックス)
-6 -5 -4 -3 -2 -1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => '... -
String
# chomp(rs = $ / ) -> String (36733.0) -
self の末尾から rs で指定する改行コードを取り除いた文字列を生成して返します。 ただし、rs が "\n" ($/ のデフォルト値) のときは、 実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
self の末尾から rs で指定する改行コードを取り除いた文字列を生成して返します。
ただし、rs が "\n" ($/ のデフォルト値) のときは、
実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
rs に nil を指定した場合、このメソッドは何もしません。
rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、
実行環境によらず末尾の連続する改行コード("\r\n", "\n")をすべて取り除きます。
//emlist[例][ruby]{
p "foo\n".chomp # => "... -
String
# crypt(salt) -> String (36733.0) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* Ruby 2.6 から非推奨になったため、引き続き... -
String
# swapcase(*options) -> String (36733.0) -
大文字を小文字に、小文字を大文字に変更した文字列を返します。
大文字を小文字に、小文字を大文字に変更した文字列を返します。
@param options オプションの詳細は String#downcase を参照してください。
//emlist[例][ruby]{
p "ABCxyz".swapcase # => "abcXYZ"
p "Access".swapcase # => "aCCESS"
//}
@see String#swapcase!, String#upcase, String#downcase, String#capitalize