別のキーワード
ライブラリ
- ビルトイン (412)
- abbrev (1)
- bigdecimal (6)
-
cgi
/ core (1) - csv (19)
- digest (5)
- erb (4)
- forwardable (2)
-
irb
/ cmd / help (1) - json (16)
-
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 (23) - open-uri (5)
- openssl (1)
- optparse (38)
- pathname (4)
- 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 (2)
- stringio (24)
- strscan (42)
- uri (3)
-
webrick
/ httprequest (1) - win32ole (3)
クラス
-
ARGF
. class (9) - Addrinfo (1)
- Array (11)
- BasicObject (1)
- BigDecimal (7)
- Binding (1)
- CGI (1)
- CSV (7)
-
CSV
:: FieldInfo (1) -
CSV
:: Row (3) -
CSV
:: Table (6) - Class (1)
- 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 (5) - Logger (3)
- MatchData (13)
- Matrix (2)
- Method (3)
- Module (50)
-
Net
:: HTTPGenericRequest (3) -
Net
:: HTTPResponse (8) - NilClass (2)
- Object (22)
-
OpenSSL
:: BN (1) - OptionParser (34)
- Pathname (4)
- 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 (10)
- Rational (3)
- Regexp (8)
- Ripper (1)
-
Ripper
:: Filter (1) -
Ripper
:: Lexer (3) -
RubyVM
:: AbstractSyntaxTree :: Node (1) -
RubyVM
:: InstructionSequence (8) - Set (2)
- SignalException (1)
- Socket (1)
- String (182)
- StringIO (24)
- StringScanner (42)
- Struct (4)
- Symbol (7)
- Thread (4)
-
Thread
:: Backtrace :: Location (6) - Time (7)
- TracePoint (3)
- TrueClass (2)
-
URI
:: MailTo (3) - UnboundMethod (8)
- UncaughtThrowError (1)
- Vector (1)
-
WEBrick
:: HTTPRequest (1) -
WIN32OLE
_ TYPE (1) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIANT (1)
モジュール
- Forwardable (2)
-
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)
キーワード
- % (3)
- * (3)
- + (1)
- +@ (1)
- -@ (1)
- << (2)
- <=> (2)
- == (2)
- === (4)
- =~ (4)
- [] (17)
- []= (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 (1)
-
class
_ variable _ defined? (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) - clear (2)
- clone (3)
- closed? (1)
- code (1)
- codepoints (2)
- coerce (1)
-
col
_ sep (1) - concat (3)
- connect (1)
-
const
_ defined? (1) -
const
_ get (1) -
const
_ set (1) -
const
_ source _ location (1) - content (1)
-
content
_ encoding (1) -
content
_ type (2) - convert (1)
- count (1)
- cover? (2)
- crypt (1)
- ctime (1)
-
datetime
_ format (1) -
default
_ argv (1) -
define
_ method (2) -
define
_ singleton _ method (2) - delegate (1)
- delete (2)
- delete! (1)
-
delete
_ prefix (1) -
delete
_ prefix! (1) -
delete
_ suffix (1) -
delete
_ suffix! (1) -
deprecate
_ constant (1) - dev (1)
- digest (1)
- digest! (1)
- disasm (1)
- disassemble (1)
- downcase (1)
- downcase! (1)
- dummy? (1)
- dump (1)
- dup (2)
- 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? (2)
-
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)
- freeze (1)
- ftype (1)
-
get
_ byte (1) -
get
_ fields (1) - getbyte (3)
- getc (2)
- getch (1)
- gets (5)
-
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)
- index (1)
-
inplace
_ mode (1) - insert (1)
-
insert
_ output (1) - inspect (34)
-
instance
_ delegate (1) -
instance
_ method (1) - intern (1)
-
is
_ a? (1) - iseuc (1)
- itself (1)
- join (1)
-
json
_ creatable? (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? (3)
- matched (1)
- matched? (1)
-
matched
_ size (1) - method (3)
-
method
_ defined? (1) -
module
_ function (3) - msg (1)
- name (7)
- name= (1)
-
named
_ captures (1) - names (3)
- namespace (2)
- namespaces (2)
- next (1)
- next! (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= (1)
-
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 (2) - readbyte (1)
- readchar (2)
- readline (2)
- readlines (4)
- release (1)
-
remove
_ class _ variable (1) -
remove
_ const (1) -
remove
_ method (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
_ before (1) - split (3)
- squeeze (1)
- squeeze! (1)
- src (1)
-
stand
_ alone? (1) -
start
_ with? (2) - status (1)
- step (3)
- strftime (1)
- strip (1)
- strip! (1)
- sub (5)
- 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)
- then (2)
-
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)
-
undef
_ method (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件
-
StringScanner
# getbyte -> String | nil (9646.0) -
1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。
1 バイトスキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すなら nil を返します。
StringScanner#getbyte は将来のバージョンで削除される予定です。
代わりに StringScanner#get_byte を使ってください。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("EUC-JP"))
p s.get_byte #=> "\xA4"
p ... -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (9643.0) -
self のデバッグ用の情報を含んだ文字列を返します。
self のデバッグ用の情報を含んだ文字列を返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
puts node.inspect
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:5>
//} -
StringScanner
# check(regexp) -> String | nil (9643.0) -
現在位置から regexp とのマッチを試みます。 マッチに成功したらマッチした部分文字列を返します。 マッチに失敗したら nil を返します。
現在位置から regexp とのマッチを試みます。
マッチに成功したらマッチした部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check(/\w+/) # => "test"
s.pos # => 0
s.matched # => "test"
s.check(... -
StringScanner
# check _ until(regexp) -> String | nil (9643.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check_until(/str/) # => "test str"
s.matched # => "str... -
StringScanner
# getch -> String | nil (9643.0) -
一文字スキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すならnilを返します。
一文字スキャンして文字列で返します。
スキャンポインタをその後ろに進めます。
スキャンポインタが文字列の末尾を指すならnilを返します。
一文字の定義は、与えた文字列のエンコードに依存します。
//emlist[例][ruby]{
require 'strscan'
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode("UTF-8"))
p s.getch # => "る"
p s.getch # => "び"
p s.... -
StringScanner
# matched -> String | nil (9643.0) -
前回マッチした部分文字列を返します。 前回のマッチに失敗していると nil を返します。
前回マッチした部分文字列を返します。
前回のマッチに失敗していると nil を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.matched # => nil
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.scan(/\w+/) # => nil
s.matched # => nil
s.scan(/\s+/) # => " "
s.matched # => " "
//} -
StringScanner
# scan _ until(regexp) -> String | nil (9643.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched # => "str"
s.pos ... -
RubyVM
:: InstructionSequence # inspect -> String (9625.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 -
StringIO
# getc -> String | nil (9625.0) -
自身から 1 文字読み込んで、その文字を返します。 文字列の終端に到達した時には nil を返します。
自身から 1 文字読み込んで、その文字を返します。
文字列の終端に到達した時には nil を返します。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("ho")
a.getc # => "h"
a.getc # => "o"
a.getc # => nil
//} -
StringIO
# gets(rs = $ / ) -> String | nil (9625.0) -
自身から 1 行読み込んで、その文字列を返します。文字列の終端に到達した時には nil を返します。 $_ に読み込んだ行がセットされます。
自身から 1 行読み込んで、その文字列を返します。文字列の終端に到達した時には nil を返します。
$_ に読み込んだ行がセットされます。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.gets ... -
StringIO
# readline(rs = $ / ) -> String (9625.0) -
自身から 1 行読み込んで、その文字列を返します。
自身から 1 行読み込んで、その文字列を返します。
文字列の終端に到達した時には、例外 EOFError を発生させます。
IO#readline と違い読み込んだ文字列を変数 $_ にセットしません。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise EOFError 文字列の終端に到達した時に発生します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][rub... -
StringIO
# readlines(rs = $ / ) -> [String] (9625.0) -
自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。 既に文字列の終端に達していれば空配列 [] を返します。
自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。
既に文字列の終端に達していれば空配列 [] を返します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\nbar\n")
a.readlines ... -
StringIO
# reopen(sio) -> StringIO (9625.0) -
自身が表す文字列が指定された StringIO と同じものになります。
自身が表す文字列が指定された StringIO と同じものになります。
@param sio 自身が表したい StringIO を指定します。
//emlist[例][ruby]{
require 'stringio'
sio = StringIO.new("hoge", 'r+')
sio2 = StringIO.new("foo", 'r+')
sio.reopen(sio2)
p sio.read #=> "foo"
//} -
StringIO
# reopen(str , mode = & # 39;r+& # 39;) -> StringIO (9625.0) -
自身が表す文字列が指定された文字列 str になります。
自身が表す文字列が指定された文字列 str になります。
与えられた str がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価します。
@param str 自身が表したい文字列を指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
str 自身も書き換えられます。
@param mode Kernel.#open 同様文字列か整数で自身のモードを指定します。
@raise... -
RubyVM
:: InstructionSequence # disasm -> String (9610.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 (9610.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 # absolute _ path -> String | nil (9607.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 (9607.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 (9607.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 (9607.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... -
StringScanner
# <<(str) -> self (9412.0) -
操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。
操作対象の文字列に対し str を破壊的に連結します。
マッチ記録は変更されません。
selfを返します。
@param str 操作対象の文字列に対し str を破壊的に連結します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.scan(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] ... -
StringScanner
# concat(str) -> self (9412.0) -
操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。
操作対象の文字列に対し str を破壊的に連結します。
マッチ記録は変更されません。
selfを返します。
@param str 操作対象の文字列に対し str を破壊的に連結します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.scan(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] ... -
StringIO
# ungetc(str _ or _ int) -> nil (9394.0) -
文字列か整数で指定された str_or_int を自身に書き戻します。 nil を返します。
文字列か整数で指定された str_or_int を自身に書き戻します。
nil を返します。
何回でも書き戻すことが可能です。
現在位置が自身のサイズよりも大きい場合は、自身をリサイズしてから、ch を書き戻します。
@param str_or_int 書き戻したい文字を文字列か整数で指定します。複数の文
字を書き戻す事もできます。
@raise IOError 自身が読み込み可能でない時に発生します。
//emlist[例][ruby]{
require "stringio"
s = StringIO.new("hoge")
s.pos = 1
s... -
StringScanner
# matched _ size -> Integer | nil (9394.0) -
前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。
前回マッチした部分文字列の長さを返します。
前回マッチに失敗していたら nil を返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def run(encode)
utf8 = "\u{308B 3073 3044}" # るびい
s = StringScanner.new(utf8.encode(encode))
s.scan(/#{"\u{308B}".encode(encode)}/)
s.matched_size
end
p run("UTF-8") #=> 3
p... -
StringScanner
# match?(regexp) -> Integer | nil (9376.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタは進めずにマッチした
部分文字列の長さを返します。マッチしなかったら nil を
返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)... -
StringScanner
# search _ full(regexp , s , f) -> object (9376.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
* f が false ならばスキャン開始位置からマッチした部分の末尾までの部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と ... -
StringScanner
# unscan -> self (9376.0) -
スキャンポインタを前回のマッチの前の位置に戻します。
スキャンポインタを前回のマッチの前の位置に戻します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
//}
@return selfを返します。
このメソッドでポインタを戻せるのは 1 回分だけです。
2 回分以上戻そうとしたときは例外 StringScanner::Error が発生します。
また、まだマッチを一度も行っていないときや、
前回のマッチが失敗してい... -
StringIO
# truncate(len) -> Integer (9358.0) -
自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。 拡大した場合は、その部分を 0 で埋めます。 len を返します。
自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。
拡大した場合は、その部分を 0 で埋めます。
len を返します。
@param len 変更したいサイズを整数で指定します。
@raise IOError 自身が書き込み可能でない時に発生します。
@raise Errno::EINVAL len がマイナスの時に発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge", 'r+')
a.truncate(2)
a.string #=>... -
StringScanner
# clear -> self (9358.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
@return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]... -
StringScanner
# scan _ full(regexp , s , f) -> object (9358.0) -
スキャンポインタの位置から regexp と文字列のマッチを試します。
スキャンポインタの位置から regexp と文字列のマッチを試します。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばマッチした部分文字列を返します。
* f が false ならばマッチした部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と f の組み合わせにより、
他のメソッドと同等の動作になります。
*... -
StringScanner
# terminate -> self (9358.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
@return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]... -
StringIO
# print() -> nil (9340.0) -
自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。 引数の扱いは Kernel.#print を参照して下さい。
自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。
引数の扱いは Kernel.#print を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.print("hoge", "bar", "foo")
a.string #=> "hogebarfoo"
//} -
StringIO
# print(*obj) -> nil (9340.0) -
自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。 引数の扱いは Kernel.#print を参照して下さい。
自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。
引数の扱いは Kernel.#print を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.print("hoge", "bar", "foo")
a.string #=> "hogebarfoo"
//} -
StringIO
# printf(format , *obj) -> nil (9340.0) -
指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。
指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。
@param format 文字列のフォーマットを指定します。Kernel.#format を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.printf("%c%c%c", 97, 98, 99)
a.string ... -
StringIO
# puts(*obj) -> nil (9340.0) -
obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。 詳しい仕様は Kernel.#puts を参照して下さい。
obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。
詳しい仕様は 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"
//} -
StringIO
# write(*obj) -> Integer (9340.0) -
自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。 書き込まれた文字列の長さを返します。
自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。
書き込まれた文字列の長さを返します。
全ての出力メソッドは、最終的に「write」という名のメソッドを呼び出すので、
このメソッドを置き換えることで出力関数の挙動を変更することができます。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み可能でない時に発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge", 'r+')
a.write("aaa") ... -
StringScanner
# empty? -> bool (9340.0) -
スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。
スキャンポインタが文字列の末尾を指しているなら true を、
末尾以外を指しているなら false を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.eos? # => false
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
s.eos? # => true
//}
StringScanner#empty? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使って... -
StringScanner
# eos? -> bool (9340.0) -
スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。
スキャンポインタが文字列の末尾を指しているなら true を、
末尾以外を指しているなら false を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.eos? # => false
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
s.eos? # => true
//}
StringScanner#empty? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使って... -
StringScanner
# exist?(regexp) -> Integer | nil (9340.0) -
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.exist?(/s/) # => 3
s.exist?(//) # => 0
s.scan(/\w+/) # => "test"
s.exist?(/s/) # => 2
s.exis... -
StringScanner
# matched? -> bool (9340.0) -
前回のマッチが成功していたら true を、 失敗していたら false を返します。
前回のマッチが成功していたら true を、
失敗していたら false を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.matched? # => false
s.scan(/\w+/) # => "test"
s.matched? # => true
s.scan(/\w+/) # => nil
s.matched? # => false
s.scan(/\s+/) # => " "
s.matched? # => true
//} -
StringScanner
# pointer -> Integer (9340.0) -
現在のスキャンポインタのインデックスを返します。
現在のスキャンポインタのインデックスを返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.pos # => 0
s.scan(/\w+/) # => "test"
s.pos # => 4
s.scan(/\w+/) # => nil
s.pos # => 4
s.scan(/\s+/) # => " "
s.pos # => 5
//}
@see StringScanner#charpos -
StringScanner
# pos -> Integer (9340.0) -
現在のスキャンポインタのインデックスを返します。
現在のスキャンポインタのインデックスを返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.pos # => 0
s.scan(/\w+/) # => "test"
s.pos # => 4
s.scan(/\w+/) # => nil
s.pos # => 4
s.scan(/\s+/) # => " "
s.pos # => 5
//}
@see StringScanner#charpos -
StringScanner
# reset -> self (9340.0) -
スキャンポインタを文字列の先頭 (インデックス 0) に戻し、 マッチ記録を捨てます。
スキャンポインタを文字列の先頭 (インデックス 0) に戻し、
マッチ記録を捨てます。
pos = 0と同じ動作です。
@return self を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.reset
s.matched # => nil
s[0] ... -
StringScanner
# rest? -> bool (9340.0) -
文字列が残っているならば trueを、 残っていないならば false を返します。
文字列が残っているならば trueを、
残っていないならば false を返します。
StringScanner#eos? と逆の結果を返します。
StringScanner#rest? は将来のバージョンで削除される予定です。
代わりに StringScanner#eos? を使ってください。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.eos? # => false
p s.rest? # => true
s.scan(/\w+/)
s.scan... -
StringScanner
# rest _ size -> Integer (9340.0) -
文字列の残りの長さを返します。 stringscanner.rest.size と同じです。
文字列の残りの長さを返します。
stringscanner.rest.size と同じです。
StringScanner#restsize は将来のバージョンで削除される予定です。
代わりにStringScanner#rest_size を使ってください。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.rest_size # => 11
p s.rest.size # => 11
//} -
StringScanner
# restsize -> Integer (9340.0) -
文字列の残りの長さを返します。 stringscanner.rest.size と同じです。
文字列の残りの長さを返します。
stringscanner.rest.size と同じです。
StringScanner#restsize は将来のバージョンで削除される予定です。
代わりにStringScanner#rest_size を使ってください。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.rest_size # => 11
p s.rest.size # => 11
//} -
StringScanner
# skip(regexp) -> Integer | nil (9340.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたらスキャンポインタを進めマッチした部分文字列の 長さを返します。マッチしなかったら nil を返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたらスキャンポインタを進めマッチした部分文字列の
長さを返します。マッチしなかったら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.skip(/\w+/) #=> 4
p s.skip(/\w+/) #=> nil
p s.skip(/\s+/) #=> 1
p s.skip(/\w+/) #=... -
StringScanner
# skip _ until(regexp) -> Integer | nil (9340.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。
マッチに失敗したら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => 8
s.matched # => "str"
s.pos # =>... -
StringIO
# closed? -> bool (9322.0) -
自身が既に close されていた場合に true を返します。そうでない場合は、false を返します。
自身が既に close されていた場合に true を返します。そうでない場合は、false を返します。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.open("hoge")
p sio.closed? # => false
sio.close_read
p sio.closed? # => false
sio.close_write
p sio.closed? # => true
//} -
StringIO
# each(rs = $ / ) -> Enumerator (9322.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# each(rs = $ / ) {|line| . . . } -> self (9322.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# each _ byte -> Enumerator (9322.0) -
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }
#=> 104
# 111
# 103
# 101
//}
@see IO#each_byte -
StringIO
# each _ byte {|ch| . . . } -> self (9322.0) -
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }
#=> 104
# 111
# 103
# 101
//}
@see IO#each_byte -
StringIO
# each _ line(rs = $ / ) -> Enumerator (9322.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# each _ line(rs = $ / ) {|line| . . . } -> self (9322.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# getbyte -> Integer | nil (9322.0) -
自身から 1 文字読み込んで、その文字に対応する Fixnum を返します。 文字列の終端に到達した時には nil を返します。
自身から 1 文字読み込んで、その文字に対応する Fixnum を返します。
文字列の終端に到達した時には nil を返します。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("ho")
a.getbyte #=> 104
a.getbyte #=> 111
a.getbyte #=> nil
//} -
StringIO
# readbyte -> Integer (9322.0) -
自身から 1 文字読み込んで、その文字に対応する整数を返します。
自身から 1 文字読み込んで、その文字に対応する整数を返します。
文字列の終端に到達した時には例外 EOFError を発生させます。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.readbyte #=> 104
//}
@raise EOFError 文字列の終端に到達した時に発生します。 -
StringScanner
# beginning _ of _ line? -> bool (9322.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+/... -
StringScanner
# bol? -> bool (9322.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+/... -
StringScanner
# charpos -> Integer (9322.0) -
現在のスキャンポインタのインデックスを文字単位で返します。
現在のスキャンポインタのインデックスを文字単位で返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new("abcädeföghi")
s.charpos # => 0
s.scan_until(/ä/) # => "abcä"
s.pos # => 5
s.charpos # => 4
//}
@see StringScanner#pos -
StringScanner
# pointer=(n) (9076.0) -
スキャンポインタのインデックスを n にセットします。
スキャンポインタのインデックスを n にセットします。
@param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。
@return n を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\... -
StringScanner
# pos=(n) (9076.0) -
スキャンポインタのインデックスを n にセットします。
スキャンポインタのインデックスを n にセットします。
@param n 整数で、バイト単位で指定します。
負数を指定すると文字列の末尾からのオフセットとして扱います。
@raise RangeError マッチ対象の文字列の長さを超える値を指定すると発生します。
@return n を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\... -
Array
# pack(template , buffer: String . new) -> String (3721.0) -
配列の内容を 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
リトルエンディアンの単精度浮動小... -
Array
# pack(template) -> String (3421.0) -
配列の内容を 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
リトルエンディアンの単精度浮動小... -
Time
# strftime(format) -> String (1345.0) -
時刻を format 文字列に従って文字列に変換した結果を返します。
時刻を format 文字列に従って文字列に変換した結果を返します。
@param format フォーマット文字列を指定します。使用できるものは 以下の通りです。
* %A: 曜日の名称(Sunday, Monday ... )
* %a: 曜日の省略名(Sun, Mon ... )
* %B: 月の名称(January, February ... )
* %b: 月の省略名(Jan, Feb ... )
* %C: 世紀 (2009年であれば 20)
* %c: 日付と時刻 (%a %b %e %T %Y)
* %D: 日付 (%m/%d/%y)
* ... -
Encoding
:: Converter # convert(source _ string) -> String (1216.0) -
与えられた文字列を変換して、変換できた結果を返します。 引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。 変換を終了させるには Encoding::Converter#finish を呼びます。
与えられた文字列を変換して、変換できた結果を返します。
引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。
変換を終了させるには Encoding::Converter#finish を呼びます。
Encoding::Converter を用いると、文字列の一部または全部を渡して変換を行うことができます。よって、不正なバイトを意識せずにストリームから読み出した文字列を変換したいときには Encoding::Converter が適します。
なお、Encoding::Converter#convert では、これらの例外を捕獲しても、例外を起こしたと... -
Exception
# set _ backtrace(errinfo) -> nil | String | [String] (964.0) -
バックトレース情報に errinfo を設定し、設定されたバックトレース 情報を返します。
バックトレース情報に errinfo を設定し、設定されたバックトレース
情報を返します。
@param errinfo nil、String あるいは String の配列のいずれかを指定します。
//emlist[例][ruby]{
begin
begin
raise "inner"
rescue
raise "outer"
end
rescue
$!.backtrace # => ["/path/to/test.rb:5:in `rescue in <main>'", "/path/to/test.rb:2:in `<main>'"]
$!.se... -
REXML
:: Attributes # namespaces -> { String => String } (928.0) -
self の中で宣言されている名前空間の集合を返します。
self の中で宣言されている名前空間の集合を返します。
返り値は名前空間の prefix をキーとし、URI を値とする
Hash を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='<'/>
</root>
EOS
a = doc.ge... -
REXML
:: Element # namespaces -> {String => String} (928.0) -
self の文脈で定義されている名前空間の情報を返します。
self の文脈で定義されている名前空間の情報を返します。
対象の要素とその外側の要素で定義されている名前空間を、{ prefix => 識別子 }
というハッシュテーブルで返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a xmlns:x='1' xmlns:y='2'><b/><c xmlns:z='3'/></a>")
doc.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"}
//} -
OpenURI
:: Meta # content _ type -> String (871.0) -
対象となるリソースの Content-Type を文字列で返します。Content-Type ヘッダの情報が使われます。 Content-Type ヘッダがない場合は、"application/octet-stream" を返します。
対象となるリソースの Content-Type を文字列で返します。Content-Type ヘッダの情報が使われます。
Content-Type ヘッダがない場合は、"application/octet-stream" を返します。
//emlist[例][ruby]{
require 'open-uri'
URI.open('http://www.ruby-lang.org/') {|f|
p f.content_type #=> "text/html"
}
//} -
CGI
# header(options = "text / html") -> String (859.0) -
HTTP ヘッダを options に従って生成します。 CGI#out と違い、標準出力には出力しません。 CGI#out を使わずに自力で HTML を出力したい場合などに使います。 このメソッドは文字列エンコーディングを変換しません。
HTTP ヘッダを options に従って生成します。 CGI#out と違い、標準出力には出力しません。
CGI#out を使わずに自力で HTML を出力したい場合などに使います。
このメソッドは文字列エンコーディングを変換しません。
ヘッダのキーとしては以下が利用可能です。
: type
Content-Type ヘッダです。デフォルトは "text/html" です。
: charset
ボディのキャラクタセットを Content-Type ヘッダに追加します。
: nph
真偽値を指定します。真ならば、HTTP のバージョン、ステータスコード、
Date ヘッ... -
Encoding
:: Converter # insert _ output(string) -> nil (859.0) -
変換器内のバッファに文字列を挿入します。 バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換器内のバッファに文字列を挿入します。
バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換先がステートフルなエンコーディングであった場合、
挿入された文字列は状態に基づいて変換され、状態を更新します。
このメソッドは変換に際してエラーが発生した際にのみ利用されるべきです。
@param string 挿入する文字列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec.... -
URI
:: MailTo # to _ mailtext -> String (826.0) -
URI オブジェクトからメールテキスト文字列を生成します。
URI オブジェクトからメールテキスト文字列を生成します。
例:
require 'uri'
p mailto = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
print mailto.to_mailtext
=> #<URI::MailTo:0x20104a0e URL:mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr>
To: ruby-list@ruby-lang.org
Sub... -
URI
:: MailTo # to _ rfc822text -> String (826.0) -
URI オブジェクトからメールテキスト文字列を生成します。
URI オブジェクトからメールテキスト文字列を生成します。
例:
require 'uri'
p mailto = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
print mailto.to_mailtext
=> #<URI::MailTo:0x20104a0e URL:mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr>
To: ruby-list@ruby-lang.org
Sub... -
OpenURI
:: Meta # charset -> String | nil (820.0) -
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。 文字列は小文字へと変換されています。
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。
文字列は小文字へと変換されています。
Content-Type ヘッダがない場合は、nil を返します。ただし、ブロックが与えられている場合は、
その結果を返します。また対象となる URI のスキームが HTTP であり、自身のタイプが text である場合は、
2616 3.7.1 で定められているとおり、文字列 "iso-8859-1" を返します。
//emlist[例][ruby]{
require 'open-uri'
URI.open("http://www.ru... -
OpenURI
:: Meta # charset { . . . } -> String (820.0) -
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。 文字列は小文字へと変換されています。
対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。
文字列は小文字へと変換されています。
Content-Type ヘッダがない場合は、nil を返します。ただし、ブロックが与えられている場合は、
その結果を返します。また対象となる URI のスキームが HTTP であり、自身のタイプが text である場合は、
2616 3.7.1 で定められているとおり、文字列 "iso-8859-1" を返します。
//emlist[例][ruby]{
require 'open-uri'
URI.open("http://www.ru... -
Net
:: HTTPHeader # fetch(key) -> String (811.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # fetch(key) {|hash| . . . . } -> String (811.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # fetch(key , default) -> String (811.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Regexp
# =~(string) -> Integer | nil (811.0) -
文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。
文字列 string との正規表現マッチを行います。マッチした場合、
マッチした位置のインデックスを返します(先頭は0)。マッチしなかった
場合、あるいは string が nil の場合には nil を返
します。
//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p /foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}
組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。
文字列のかわりにSymbolをマッチさせることが... -
Regexp
# ===(string) -> bool (781.0) -
文字列 string との正規表現マッチを行います。 マッチした場合は真を返します。
文字列 string との正規表現マッチを行います。
マッチした場合は真を返します。
string が文字列でもシンボルでもない場合には false を返します。
このメソッドは主にcase文での比較に用いられます。
@param string マッチ対象文字列
//emlist[例][ruby]{
a = "HELLO"
case a
when /\A[a-z]*\z/; puts "Lower case"
when /\A[A-Z]*\z/; puts "Upper case"
else; puts "Mixed case"
end
# => Upper ... -
Array
# to _ csv(**options) -> String (769.0) -
CSV.generate_line(self, options) と同様です。
CSV.generate_line(self, options) と同様です。
Array オブジェクトを 1 行の CSV 文字列に変換するためのショートカットです。
@param options CSV.generate_line と同様のオプションを指定します。
//emlist[][ruby]{
require 'csv'
p [1, 'Matz', :Ruby, Date.new(1965, 4, 14)].to_csv # => "1,Matz,Ruby,1965-04-14\n"
p [1, 'Matz',... -
CSV
:: FieldInfo # header -> String | nil (769.0) -
利用可能な場合はヘッダを表す文字列を返します。
利用可能な場合はヘッダを表す文字列を返します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |field,field_info|
p field_info.header
Date.parse(field)
end
p csv.first
# => "date1"
# => "date2"
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,... -
Time
# inspect -> String (769.0) -
時刻を文字列に変換した結果を返します。
時刻を文字列に変換した結果を返します。
Time#to_s とは異なりナノ秒まで含めて返します。
//emlist[][ruby]{
t = Time.now
t.inspect #=> "2012-11-10 18:16:12.261257655 +0100"
t.strftime "%Y-%m-%d %H:%M:%S.%N %z" #=> "2012-11-10 18:16:12.261257655 +0100"
t.utc.inspect #=> "2012-11-10 1... -
Time
# to _ s -> String (769.0) -
時刻を文字列に変換した結果を返します。 以下のようにフォーマット文字列を使って strftime を呼び出すのと同じです。
時刻を文字列に変換した結果を返します。
以下のようにフォーマット文字列を使って strftime を呼び出すのと同じです。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p t.to_s # => "2000-01-02 03:04:05 +0900"
p t.strftime("%Y-%m-%d %H:%M:%S %z") # => "2000-01-02 03:04:05 +0900"
p t.utc.to_s #... -
OpenURI
:: Meta # content _ encoding -> [String] (757.0) -
対象となるリソースの Content-Encoding を文字列の配列として返します。 Content-Encoding ヘッダがない場合は、空の配列を返します。
対象となるリソースの Content-Encoding を文字列の配列として返します。
Content-Encoding ヘッダがない場合は、空の配列を返します。
例:
//emlist[例][ruby]{
require 'open-uri'
URI.open('http://example.com/f.tar.gz') {|f|
p f.content_encoding #=> ["x-gzip"]
}
//} -
Addrinfo
# canonname -> String|nil (751.0) -
カノニカル名を文字列で返します。
カノニカル名を文字列で返します。
カノニカル名が存在しない場合には nil を返します。
カノニカル名は Addrinfo.getaddrinfo に Socket::AI_CANONINAME
を指定した場合にセットされます。
require 'socket'
list = Addrinfo.getaddrinfo("www.ruby-lang.org", 80, :INET, :STREAM, nil, Socket::AI_CANONNAME)
p list[0] #=> #<Addrinfo: 221.186.184.68:80 TCP carbon.ruby-la... -
IO
# syswrite(string) -> Integer (739.0) -
write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。
write(2) を用いて string を出力します。
string が文字列でなければ to_s による文字列化を試みます。
実際に出力できたバイト数を返します。
stdio を経由しないので他の出力メソッドと混用すると思わぬ動作
をすることがあります。
@param string 自身に書き込みたい文字列を指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
//emlist[例][ruby]{
File.open("testfile", "w+") do |... -
OptionParser
# summary _ indent -> String (733.0) -
サマリを表示する時のインデントを文字列で返します。
サマリを表示する時のインデントを文字列で返します。
@return サマリを表示する時のインデントを文字列で返します。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end
opts.summary_indent # => " "
opts.summarize
# => [" -i,... -
Regexp
# to _ s -> String (733.0) -
正規表現の文字列表現を生成して返します。返される文字列は他の正規表 現に埋め込んでもその意味が保持されるようになっています。
正規表現の文字列表現を生成して返します。返される文字列は他の正規表
現に埋め込んでもその意味が保持されるようになっています。
//emlist[][ruby]{
re = /foo|bar|baz/i
p re.to_s # => "(?i-mx:foo|bar|baz)"
p /#{re}+/o # => /(?i-mx:foo|bar|baz)+/
//}
ただし、後方参照を含む正規表現は意図通りにはならない場合があります。
この場合は名前付きキャプチャを使用すると影響を受けにくくなります。
//emlist[][ruby]{
re = /(foo|bar)\1... -
Net
:: HTTPHeader # content _ type -> String|nil (727.0) -
"text/html" のような Content-Type を表す 文字列を返します。
"text/html" のような Content-Type を表す
文字列を返します。
Content-Type: ヘッダフィールドが存在しない場合には nil を返します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/comments.cgi?post=comment')
req = Net::HTTP::Post.new(uri.request_uri)
req.content_type # => nil
req.content_type = 'multipart/for... -
BigDecimal
# to _ s -> String (718.0) -
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
@param n 出力の形式を Integer または String で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").to_s # ==> "0.123456e1"
//}
引数 n に正の整数が指定されたときは、小数点で分けられる左右部分を、
それぞれ n 桁毎に空白で区切ります。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("0.123456... -
BigDecimal
# to _ s(n) -> String (718.0) -
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
@param n 出力の形式を Integer または String で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").to_s # ==> "0.123456e1"
//}
引数 n に正の整数が指定されたときは、小数点で分けられる左右部分を、
それぞれ n 桁毎に空白で区切ります。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("0.123456... -
Encoding
:: Converter # putback -> String (718.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納されていたバイト列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>... -
Encoding
:: Converter # putback(max _ numbytes) -> String (718.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納されていたバイト列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>... -
Integer
# chr -> String (718.0) -
self を文字コードとして見た時に、引数で与えたエンコーディング encoding に対応する文字を返します。
self を文字コードとして見た時に、引数で与えたエンコーディング encoding に対応する文字を返します。
//emlist[][ruby]{
p 65.chr
# => "A"
p 12354.chr
# => `chr': 12354 out of char range (RangeError)
p 12354.chr(Encoding::UTF_8)
# => "あ"
p 12354.chr(Encoding::EUC_JP)
# => RangeError: invalid codepoint 0x3042 in EUC-JP
//}
引数無しで呼ばれた場合は self ... -
Integer
# chr(encoding) -> String (718.0) -
self を文字コードとして見た時に、引数で与えたエンコーディング encoding に対応する文字を返します。
self を文字コードとして見た時に、引数で与えたエンコーディング encoding に対応する文字を返します。
//emlist[][ruby]{
p 65.chr
# => "A"
p 12354.chr
# => `chr': 12354 out of char range (RangeError)
p 12354.chr(Encoding::UTF_8)
# => "あ"
p 12354.chr(Encoding::EUC_JP)
# => RangeError: invalid codepoint 0x3042 in EUC-JP
//}
引数無しで呼ばれた場合は self ... -
REXML
:: Instruction # content -> String | nil (715.0) -
XML 処理命令の内容を返します。
XML 処理命令の内容を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<?foobar?>
<root />
EOS
doc[2] # => <?p-i xml-stylesheet ...?>
doc[2].target # => "xml-stylesheet"
doc[2].content... -
REXML
:: Instruction # target -> String (715.0) -
XML 処理命令のターゲットを返します。
XML 処理命令のターゲットを返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<root />
EOS
doc[2] # => <?p-i xml-stylesheet ...?>
doc[2].target # => "xml-stylesheet"
doc[2].content # => "t... -
OptionParser
# on(long , klass = String , desc = "") {|v| . . . } -> self (709.0) -
オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。
klass にはクラスを与えます。どのようなクラスを受け付けるかは、
以下の「デフォルトで利用可能な引数クラス」を参照して下さい。
OptionParser.accept や OptionParser#accept によって、受け付け
るクラスを増やすことができます。登録されていないクラスが指定された
場合、例外 ArgumentError を投げます。
また、登録されたクラスであっても引数が変換できないものである場合、例外
OptionParser::I...