別のキーワード
ライブラリ
- English (14)
- ビルトイン (17)
- abbrev (2)
- base64 (3)
- bigdecimal (6)
-
cgi
/ core (1) -
cgi
/ util (12) - csv (32)
- date (4)
- dbm (3)
- digest (6)
- erb (8)
- etc (5)
- fiddle (2)
- forwardable (2)
- gdbm (4)
- ipaddr (3)
-
irb
/ extend-command (1) - json (31)
-
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 (2)
- logger (3)
- matrix (3)
- mkmf (6)
-
net
/ http (23) -
net
/ imap (2) -
net
/ pop (9) -
net
/ smtp (5) - objspace (1)
- open-uri (8)
- open3 (12)
- openssl (16)
- optparse (38)
- pathname (4)
- psych (1)
- rake (1)
-
rake
/ packagetask (3) -
rdoc
/ markup (4) - readline (11)
- resolv (2)
-
rexml
/ document (31) -
rinda
/ rinda (1) -
ripper
/ filter (1) -
ripper
/ lexer (3) -
rubygems
/ dependency (1) -
rubygems
/ requirement (3) -
rubygems
/ specification (4) - scanf (2)
- sdbm (6)
- securerandom (6)
- set (1)
- shell (5)
-
shell
/ command-processor (1) -
shell
/ filter (3) - shellwords (4)
- socket (31)
- stringio (33)
- strscan (46)
- syslog (3)
- tempfile (1)
- time (5)
- tmpdir (3)
- uri (27)
-
webrick
/ htmlutils (1) -
webrick
/ httpresponse (4) -
webrick
/ httpstatus (1) -
webrick
/ httputils (6) -
webrick
/ httpversion (1) -
webrick
/ log (1) -
webrick
/ utils (2) -
win32
/ resolv (2) - zlib (15)
クラス
- Addrinfo (8)
- Array (3)
- BasicSocket (5)
- BigDecimal (7)
- CGI (13)
- CSV (19)
-
CSV
:: FieldInfo (1) -
CSV
:: Row (3) -
CSV
:: Table (6) - Class (1)
- Complex (1)
- DBM (3)
- Date (1)
- DateTime (5)
-
Digest
:: Base (5) - Dir (4)
- ERB (4)
- Exception (1)
-
Fiddle
:: Pointer (2) - File (1)
- GDBM (4)
-
Gem
:: Dependency (1) -
Gem
:: Requirement (3) -
Gem
:: Specification (4) - IPAddr (3)
- IPSocket (1)
-
JSON
:: Parser (1) -
JSON
:: State (9) - LoadError (1)
- Logger (3)
- Matrix (2)
- Method (1)
- Module (1)
-
Net
:: HTTPGenericRequest (3) -
Net
:: HTTPResponse (8) -
Net
:: IMAP (2) -
Net
:: POPMail (9) -
Net
:: SMTP (5) -
OpenSSL
:: ASN1 :: ObjectId (5) -
OpenSSL
:: BN (1) -
OpenSSL
:: Cipher (1) -
OpenSSL
:: PKCS7 (1) -
OpenSSL
:: PKey :: EC (1) -
OpenSSL
:: SSL :: SSLContext (1) -
OpenSSL
:: X509 :: Name (2) -
OpenSSL
:: X509 :: StoreContext (1) - OptionParser (34)
- Pathname (4)
-
RDoc
:: Markup (3) -
REXML
:: Attribute (3) -
REXML
:: Attributes (3) -
REXML
:: CData (2) -
REXML
:: DocType (4) -
REXML
:: Document (3) -
REXML
:: Element (6) -
REXML
:: Entity (1) -
REXML
:: Instruction (2) -
REXML
:: Text (3) -
Rake
:: PackageTask (3) - Range (2)
- Rational (1)
- Regexp (1)
- Resolv (2)
- Ripper (3)
-
RubyVM
:: InstructionSequence (1) - SDBM (6)
- Set (1)
- Shell (5)
-
Shell
:: CommandProcessor (1) -
Shell
:: Filter (3) - Socket (11)
-
Socket
:: AncillaryData (1) - String (7)
- StringIO (32)
- StringScanner (45)
- Struct (1)
- Tempfile (1)
- Time (6)
- UDPSocket (1)
- UNIXSocket (4)
-
URI
:: Generic (9) -
URI
:: HTTP (1) -
URI
:: MailTo (4) - UnboundMethod (1)
- Vector (1)
-
WEBrick
:: BasicLog (1) -
WEBrick
:: HTTPResponse (4) -
WEBrick
:: HTTPUtils :: FormData (5) -
WEBrick
:: HTTPVersion (1) -
Win32
:: Resolv (2) -
Zlib
:: Deflate (6) -
Zlib
:: GzipReader (3) -
Zlib
:: GzipWriter (1) -
Zlib
:: Inflate (5)
モジュール
- Abbrev (1)
- Base64 (3)
- Digest (1)
-
ERB
:: Util (4) - Etc (5)
- Forwardable (2)
-
IRB
:: ExtendCommandBundle (1) - JSON (9)
-
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 (2) -
JSON
:: Generator :: GeneratorMethods :: String :: Extend (1) -
JSON
:: Generator :: GeneratorMethods :: TrueClass (1) - Kconv (1)
- Kernel (27)
-
Net
:: HTTPHeader (12) - ObjectSpace (1)
- Open3 (12)
-
OpenSSL
:: ASN1 (1) - OpenURI (1)
-
OpenURI
:: Meta (5) -
OpenURI
:: OpenRead (1) -
OptionParser
:: Arguable (4) - Readline (3)
- SecureRandom (5)
- Shellwords (4)
- Syslog (3)
- URI (13)
-
WEBrick
:: HTMLUtils (1) -
WEBrick
:: HTTPStatus (1) -
WEBrick
:: HTTPUtils (1) -
WEBrick
:: Utils (2)
オブジェクト
キーワード
-
$ " (1) -
$ -I (1) -
$ : (1) -
$ ARGV (1) -
$ ERROR _ POSITION (1) -
$ FIELD _ SEPARATOR (1) -
$ FS (1) -
$ INPUT _ RECORD _ SEPARATOR (1) -
$ LAST _ PAREN _ MATCH (1) -
$ LOADED _ FEATURES (1) -
$ LOAD _ PATH (1) -
$ MATCH (1) -
$ OFS (1) -
$ ORS (1) -
$ OUTPUT _ FIELD _ SEPARATOR (1) -
$ OUTPUT _ RECORD _ SEPARATOR (1) -
$ POSTMATCH (1) -
$ PREMATCH (1) -
$ RS (1) - << (4)
- ASN1 (1)
- CSV (1)
- Comment (1)
- Default (1)
- Emitter (1)
- Filter (1)
- Markup (1)
- OCSP (1)
- Pretty (1)
- Rubyの起動 (1)
- Ruby用語集 (1)
- SecureRandom (1)
- StringIO (1)
- StringScanner (1)
- Template (1)
- Transitive (1)
-
UNIVERSAL
_ TAG _ NAME (1) - Version (1)
- [] (11)
-
_ dump (1) - abbrev (2)
-
add
_ element (1) -
add
_ html (1) -
add
_ special (1) -
add
_ word _ pair (1) - addr (1)
- all (3)
-
allocation
_ sourcefile (1) -
array
_ nl (1) -
as
_ list (1) -
attribute
_ of (1) - autoload (2)
- autorequire (1)
- base64 (1)
-
basic
_ auth (1) -
beginning
_ of _ line? (1) - bigdecimal (1)
-
bigdecimal
/ util (1) - binread (1)
- body (2)
- bol? (1)
-
builtin
_ curves (1) - bytes (2)
- canonname (1)
- capture2 (1)
- capture2e (1)
- capture3 (1)
- cgi (1)
- charpos (1)
- charset (2)
- check (1)
-
check
_ until (1) - ciphers (2)
- clear (1)
- closed? (1)
- code (1)
- coerce (1)
-
col
_ sep (1) - comment= (1)
-
compile
_ option (1) -
completion
_ append _ character= (1) -
completion
_ case _ fold (1) - concat (1)
- confstr (1)
- connect (1)
- content (1)
-
content
_ encoding (1) -
content
_ length (1) -
content
_ length= (1) -
content
_ type (2) - cover? (1)
-
create
_ header (1) -
create
_ id (1) - crypt (1)
- cwd (1)
- data (1)
-
datetime
_ format (1) - decode (1)
- decode64 (1)
-
decode
_ www _ form (1) -
decode
_ www _ form _ component (1) -
def
_ extend _ command (1) -
default
_ argv (1) - deflate (2)
- delegate (1)
- delete (2)
-
delete
_ at (1) - digest (1)
- digest! (1)
- dir (1)
-
dir
_ config (1) - dump (1)
- each (4)
-
each
_ byte (2) -
each
_ line (2) - echo (3)
- empty? (1)
-
enable
_ config (2) - encode (1)
- encode64 (1)
-
encode
_ www _ form (1) -
encode
_ www _ form _ component (1) - encoding (1)
- entity (1)
- environment (1)
- eos? (1)
- error= (1)
- escape (3)
- escapeElement (1)
- escapeHTML (1)
-
escape
_ element (1) -
escape
_ html (1) - exist? (1)
- ext (1)
-
external
_ id (1) - extract (4)
- facility (1)
-
fast
_ generate (1) -
fast
_ unparse (1) - fetch (4)
- filename (2)
- filename= (2)
- filter (3)
- finish (2)
- flush (1)
-
format
_ date (1) -
format
_ datetime (1) - formatter (1)
- fragment (1)
- generate (2)
-
generate
_ line (1) -
get
_ byte (1) -
get
_ fields (1) -
get
_ hosts _ path (1) -
get
_ resolv _ info (1) - getaddress (2)
- getaddrinfo (1)
- getbyte (2)
- getc (1)
- getch (1)
- gethostname (1)
- getlogin (1)
- getname (1)
- getnameinfo (1)
- getpeername (1)
- gets (3)
- getservbyport (1)
- getservername (1)
- getsockname (1)
- getwd (1)
- h (1)
- header (1)
- headers (1)
- help (1)
- hex (1)
- hexdigest (1)
- hexdigest! (1)
- hexencode (1)
- hostname (1)
-
html
_ escape (1) -
http
_ version (1) - httpdate (1)
- ident (1)
- indent (1)
- indent= (1)
- inflate (2)
- inspect (7)
-
inspect
_ sockaddr (1) - instance (2)
-
instance
_ delegate (1) -
ip
_ address (1) -
ip
_ unpack (1) - irb (1)
- iseuc (1)
- isjis (1)
- iso8601 (2)
- jisx0301 (1)
-
json
_ creatable? (1) -
json
_ create (1) - kconv (1)
- keys (2)
- lex (1)
-
lib
_ files (1) - lines (2)
- ln (1)
- logger (1)
-
long
_ name (1) - mail (3)
-
main
_ type (1) - match? (1)
- matched (1)
- matched? (1)
-
matched
_ size (1) - matches? (1)
- method (2)
-
mime
_ type (1) - mktmpdir (2)
- msg (1)
- name (2)
- name= (1)
- namespace (2)
- namespaces (2)
-
net
/ smtp (1) - new (4)
- normalize (1)
- normalize! (1)
-
object
_ nl (1) -
object
_ nl= (1) - oid (1)
- on (12)
- opaque (1)
- open (7)
-
open
_ uri (1) - order (4)
- order! (4)
- pack (1)
- pack テンプレート文字列 (1)
-
pack
_ sockaddr _ in (1) -
pack
_ sockaddr _ un (1) -
package
_ dir (1) -
package
_ dir _ path (1) - parse (3)
- parse! (2)
-
parse
_ csv (1) - path (6)
- peek (1)
- peep (1)
- peeraddr (1)
- permute (2)
- permute! (2)
- pipeline (1)
-
pipeline
_ r (2) -
pipeline
_ rw (2) -
pipeline
_ start (2) -
pipeline
_ w (2) - pointer (1)
- pointer= (1)
- pop (4)
- pos (1)
- pos= (2)
-
post
_ match (1) - pp (1)
-
pre
_ match (1) - prefix (1)
- prefixes (2)
- pretty (1)
-
pretty
_ generate (1) -
pretty
_ print (1) -
pretty
_ unparse (1) - print (2)
- printf (1)
- progname (1)
-
program
_ name (1) -
proxy
_ basic _ auth (1) - public (1)
- push (1)
- puts (1)
- pwd (1)
- query (1)
-
quote
_ char (1) -
random
_ bytes (1) -
random
_ string (1) - rdoc (1)
-
rdoc
/ markup / to _ ansi (1) -
rdoc
/ markup / to _ bs (1) -
rdoc
/ markup / to _ html (1) - read (3)
-
read
_ body (2) - readbyte (1)
- readchar (1)
- readline (4)
- readlines (1)
-
reason
_ phrase (1) - recv (1)
- recvfrom (2)
-
recvfrom
_ nonblock (1) - recvmsg (1)
- release (1)
- reopen (2)
-
request
_ uri (1) -
require
_ path (1) -
require
_ paths (1) -
requirements
_ list (1) - reset (1)
- rest (1)
- rest? (1)
-
rest
_ size (1) - restsize (1)
- result (1)
- reverse (1)
-
rfc1123
_ date (1) - rfc2822 (1)
- rfc3339 (1)
- rfc822 (1)
-
row
_ sep (1) - rss (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 9 feature (1) - scan (1)
-
scan
_ full (1) -
scan
_ until (1) - scanf (3)
-
search
_ full (1) - select (3)
- send (1)
-
send
_ mail (1) - sendmail (1)
-
set
_ dictionary (2) - shellescape (1)
- shelljoin (1)
- shellsplit (1)
- shellwords (2)
- shift (4)
-
short
_ name (1) - skip (1)
-
skip
_ until (1) - slice (1)
- sn (1)
-
sockaddr
_ in (1) -
sockaddr
_ un (1) - socket (1)
- source (1)
-
source
_ location (2) - space (1)
- space= (1)
-
space
_ before (1) -
space
_ before= (1) - split (2)
- src (1)
-
stand
_ alone? (1) - start (2)
- status (1)
-
status
_ line (1) - store (1)
- string= (1)
- sub (2)
-
sub
_ type (1) -
summary
_ indent (1) - sysconfdir (1)
- system (1)
- systmpdir (1)
- target (1)
- terminate (1)
- text (1)
- tmpdir (1)
- to (1)
-
to
_ a (4) -
to
_ csv (3) -
to
_ json (19) -
to
_ json _ raw _ object (1) -
to
_ mailtext (1) -
to
_ rfc822text (1) -
to
_ s (20) -
to
_ sockaddr (1) -
to
_ string (2) - tokenize (1)
- truncate (1)
- u (1)
- uname (1)
- unescape (2)
- unescapeElement (1)
- unescapeHTML (1)
-
unescape
_ element (1) -
unescape
_ html (1) - ungetc (1)
-
unix
_ path (1) - unnormalize (1)
- unpack (1)
-
unpack
_ sockaddr _ in (1) -
unpack
_ sockaddr _ un (1) - unparse (1)
- unscan (1)
-
url
_ encode (1) -
urlsafe
_ base64 (1) -
urlsafe
_ encode64 (1) - uuid (1)
- value (2)
-
values
_ at (3) - ver (1)
- version (1)
-
webrick
/ cgi (1) -
with
_ config (2) - write (1)
-
write
_ smime (1) - xmlschema (2)
- xpath (1)
- yaml (1)
- このマニュアルのヘルプ (1)
検索結果
先頭5件
-
StringScanner
# string -> String (63877.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 (63643.0) -
自身が表す文字列を返します。
自身が表す文字列を返します。
返されるのは生成時に与えられたバッファとして使われている文字列です。
文字列は複製されないことに注意して下さい。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.new
sio << "abc"
s = sio.string
p s #=> "abc"
sio << "xyz"
p s #=> "abcxyz"
//} -
StringScanner
# string=(str) (27358.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
# crypt(salt) -> String (27340.0) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* Ruby 2.6 から非推奨になったため、引き続き... -
String
# parse _ csv(**options) -> [String] (27340.0) -
CSV.parse_line(self, options) と同様です。
CSV.parse_line(self, options) と同様です。
1 行の CSV 文字列を、文字列の配列に変換するためのショートカットです。
@param options CSV.new と同様のオプションを指定します。
//emlist[][ruby]{
require "csv"
p "Matz,Ruby\n".parse_csv # => ["Matz", "Ruby"]
p "Matz|Ruby\r\n".parse_csv(col_sep: '|', row_sep: "\r\n") # => ... -
String
# ext(newext = & # 39;& # 39;) -> String (27322.0) -
自身の拡張子を与えられた拡張子で置き換えます。
自身の拡張子を与えられた拡張子で置き換えます。
自身に拡張子が無い場合は、与えられた拡張子を追加します。
与えられた拡張子が空文字列の場合は、自身の拡張子を削除します。
@param newext 新しい拡張子を指定します。
例:
require "rake"
"hoge".ext(".rb") # => "hoge.rb"
"hoge.rb".ext(".erb") # => "hoge.erb"
"hoge.tar.gz".ext(".bz2") # => "hoge.tar.bz2" -
String
# scanf(format) -> Array (27181.0) -
ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。
ブロックを指定しない場合、見つかった文字列を format に従って変
換し、そのオブジェクトの配列を返します。
format で指定した文字列が見つからない場合は空の配列を
生成して返します。
require 'scanf'
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]
ブロックを指定した場合は scanf を継続して実行し、順次
見つかった文字列を変換したオブジェクトの配列を引数に、ブロックを
実行します。このとき、ブロックの実行結果を要素とする配列を返します。
requir... -
String
# scanf(format) {|*ary| . . . } -> Array (27181.0) -
ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。
ブロックを指定しない場合、見つかった文字列を format に従って変
換し、そのオブジェクトの配列を返します。
format で指定した文字列が見つからない場合は空の配列を
生成して返します。
require 'scanf'
str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]
ブロックを指定した場合は scanf を継続して実行し、順次
見つかった文字列を変換したオブジェクトの配列を引数に、ブロックを
実行します。このとき、ブロックの実行結果を要素とする配列を返します。
requir... -
String
# unpack(template) -> Array (27109.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のよう... -
String
# iseuc -> bool (27019.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')
... -
Gem
:: Specification # require _ path -> String (18673.0) -
Gem::Specification#require_paths の単数バージョンです。
Gem::Specification#require_paths の単数バージョンです。
@see Gem::Specification#require_paths -
Gem
:: Specification # require _ paths -> [String] (18655.0) -
この Gem パッケージを使用した際に require するファイルが置かれているディレクトリ のリストを返します。
この Gem パッケージを使用した際に require するファイルが置かれているディレクトリ
のリストを返します。 -
IPAddr
# to _ string -> String (18643.0) -
標準的な文字列表現に変換します。
標準的な文字列表現に変換します。
require 'ipaddr'
addr6 = IPAddr.new('::1')
addr6.to_s #=> "::1"
addr6.to_string #=> "0000:0000:0000:0000:0000:0000:0000:0001"
@see IPAddr#to_s -
REXML
:: Attribute # to _ string -> String (18643.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'"
//} -
WEBrick
:: Utils . # random _ string(len) -> String (18643.0) -
A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。
A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。
@param len 得たい文字列の長さを整数で指定します。単位はバイトです。
require 'webrick'
p WEBrick::Utils.random_string(10) #=> "xF0jwU4RJd" -
Gem
:: Dependency # requirements _ list -> [String] (18604.0) -
バージョンの必要条件を文字列の配列として返します。
バージョンの必要条件を文字列の配列として返します。 -
Gem
:: Specification # autorequire -> String (18604.0) -
非推奨の属性です。
非推奨の属性です。 -
StringScanner (18469.0)
-
StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。
StringScanner は文字列スキャナクラスです。
簡単に高速なスキャナを記述できます。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('This is an example string')
s.eos? #=> false
p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/\s+/) #=> nil
p s.scan(/\w+/) #=> "is"... -
StringIO (18037.0)
-
文字列に IO と同じインタフェースを持たせるためのクラスです。
文字列に IO と同じインタフェースを持たせるためのクラスです。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read #=> "hoge"
sio.rewind
p sio.read(1) #=> "h"
sio.write("OGE")
sio.rewind
p sio.read #=> "hOGE"
//}
=== 例外
StringIO オブジェクトは大抵の場合 IO オブジェクトと同... -
StringIO
. new(string = & # 39;& # 39; , mode = & # 39;r+& # 39;) -> StringIO (9718.0) -
StringIO オブジェクトを生成して返します。
StringIO オブジェクトを生成して返します。
与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価してその結果を返します。
@param string 生成される StringIO のデータを文字列で指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
string 自身も書き換えられます。
@param mode Kernel.#op... -
StringIO
. open(string = & # 39;& # 39; , mode = & # 39;r+& # 39;) -> StringIO (9718.0) -
StringIO オブジェクトを生成して返します。
StringIO オブジェクトを生成して返します。
与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価してその結果を返します。
@param string 生成される StringIO のデータを文字列で指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
string 自身も書き換えられます。
@param mode Kernel.#op... -
StringScanner
# peek(bytes) -> String (9451.0) -
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}
また、このメソッドを実行してもスキャンポインタは移動しません。
StringScanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。
@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の... -
StringScanner
# peep(bytes) -> String (9451.0) -
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}
また、このメソッドを実行してもスキャンポインタは移動しません。
StringScanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。
@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の... -
StringIO
. open(string = & # 39;& # 39; , mode = & # 39;r+& # 39;) {|io| . . . } -> object (9418.0) -
StringIO オブジェクトを生成して返します。
StringIO オブジェクトを生成して返します。
与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価してその結果を返します。
@param string 生成される StringIO のデータを文字列で指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
string 自身も書き換えられます。
@param mode Kernel.#op... -
StringScanner
# rest -> String (9412.0) -
文字列の残り (rest) を返します。 具体的には、スキャンポインタが指す位置からの文字列を返します。
文字列の残り (rest) を返します。
具体的には、スキャンポインタが指す位置からの文字列を返します。
スキャンポインタが文字列の末尾を指していたら空文字列 ("") を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.rest # => "test string"
s.scan(/\w+/) # => "test"
s.rest # => " string"
s.scan(/\s+/) # => " "
s.rest #... -
StringScanner
# post _ match -> String | nil (9394.0) -
前回マッチを行った文字列のうち、マッチしたところよりも後ろの 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。
前回マッチを行った文字列のうち、マッチしたところよりも後ろの
部分文字列を返します。前回のマッチが失敗していると常に nil を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.post_match # => nil
s.scan(/\w+/) # => "test"
s.post_match # => " string"
s.scan(/\w+/) # => nil
s.post_match # => nil
s.scan(/\s+/) # => " "
s.post... -
StringScanner
# [](nth) -> String | nil (9376.0) -
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。インデックス 0 はマッチした部分全体です。前回のマッチが
失敗していると常に nil を返します。
@param nth 前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w(\w)(\w*)/) # => "test"
s[0] # => "test"... -
StringIO
# readchar -> String (9370.0) -
自身から 1 文字読み込んで、その文字に対応する String を返します。
自身から 1 文字読み込んで、その文字に対応する String を返します。
文字列の終端に到達した時には例外 EOFError を発生させます。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.readchar #=> "h"
//}
@raise EOFError EOFに達した時発生する -
StringScanner
# inspect -> String (9358.0) -
StringScannerオブジェクトを表す文字列を返します。
StringScannerオブジェクトを表す文字列を返します。
文字列にはクラス名の他、以下の情報が含まれます。
* スキャナポインタの現在位置。
* スキャン対象の文字列の長さ。
* スキャンポインタの前後にある文字。上記実行例の @ がスキャンポインタを表します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.inspect # => "#<StringScanner 0/11 @ \"test ..... -
StringScanner
# pre _ match -> String | nil (9358.0) -
前回マッチを行った文字列のうち、マッチしたところよりも前の 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。
前回マッチを行った文字列のうち、マッチしたところよりも前の
部分文字列を返します。前回のマッチが失敗していると常に nil を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.pre_match # => nil
s.scan(/\w+/) # => "test"
s.pre_match # => ""
s.scan(/\w+/) # => nil
s.pre_match # => nil
s.scan(/\s+/) # => " "
s.pre_match ... -
StringScanner
# scan(regexp) -> String | nil (9358.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタを進めて正規表現にマッチした 部分文字列を返します。マッチしなかったら nil を返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタを進めて正規表現にマッチした
部分文字列を返します。マッチしなかったら nil を返します。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan(/\w+/) #=> "test"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/... -
JSON
:: Generator :: GeneratorMethods :: String :: Extend . json _ create(hash) -> String (9340.0) -
JSON のオブジェクトから Ruby の文字列を生成して返します。
JSON のオブジェクトから Ruby の文字列を生成して返します。
@param hash キーとして "raw" という文字列を持ち、その値として数値の配列を持つハッシュを指定します。
require 'json'
String.json_create({"raw" => [0x41, 0x42, 0x43]}) # => "ABC" -
StringScanner
# check(regexp) -> String | nil (9340.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 (9340.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
# matched -> String | nil (9340.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 (9340.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 ... -
StringScanner
. new(str , dup = false) -> StringScanner (9337.0) -
新しい StringScanner オブジェクトを生成します。
新しい StringScanner オブジェクトを生成します。
@param str スキャン対象の文字列を指定します。
@param dup dup は単に無視します。
引数の文字列は複製も freeze もされず、そのまま使います。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('This is an example string')
s.eos? #=> false
p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #... -
StringScanner
# get _ byte -> String | nil (9325.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 ... -
StringScanner
# getbyte -> String | nil (9325.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 ... -
Gem
:: Requirement # pretty _ print(pp) -> String (9322.0) -
わかりやすい形で、条件を表す文字列を返します。 pp メソッドで出力する際に、内部で用いられます。
わかりやすい形で、条件を表す文字列を返します。
pp メソッドで出力する際に、内部で用いられます。
@param PP :PP オブジェクトを指定します。
//emlist[][ruby]{
require 'pp'
req = Gem::Requirement.new(["< 5.0", ">= 1.9"])
pp req # => Gem::Requirement.new(["< 5.0", ">= 1.9"])
//} -
JSON
:: Generator :: GeneratorMethods :: String # to _ json(state _ or _ hash = nil) -> String (9322.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
自身のエンコードは UTF-8 であるべきです。
"\u????" のように UTF-16 ビッグエンディアンでエンコードされた文字列を返すことがあります。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]... -
StringIO
# getc -> String | nil (9322.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 (9322.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 (9322.0) -
自身から 1 行読み込んで、その文字列を返します。
自身から 1 行読み込んで、その文字列を返します。
文字列の終端に到達した時には、例外 EOFError を発生させます。
IO#readline と違い読み込んだ文字列を変数 $_ にセットしません。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise EOFError 文字列の終端に到達した時に発生します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][rub... -
StringIO
# readlines(rs = $ / ) -> [String] (9322.0) -
自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。 既に文字列の終端に達していれば空配列 [] を返します。
自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。
既に文字列の終端に達していれば空配列 [] を返します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\nbar\n")
a.readlines ... -
StringIO
# reopen(sio) -> StringIO (9322.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 (9322.0) -
自身が表す文字列が指定された文字列 str になります。
自身が表す文字列が指定された文字列 str になります。
与えられた str がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価します。
@param str 自身が表したい文字列を指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
str 自身も書き換えられます。
@param mode Kernel.#open 同様文字列か整数で自身のモードを指定します。
@raise... -
StringScanner
# getch -> String | nil (9322.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
:: Version -> String (9322.0) -
StringScanner クラスのバージョンを文字列で返します。 この文字列は Object#freeze されています。
StringScanner クラスのバージョンを文字列で返します。
この文字列は Object#freeze されています。
//emlist[例][ruby]{
require 'strscan'
StringScanner::Version # => "0.7.0"
StringScanner::Version.frozen? # => true
//} -
Gem
:: Requirement # as _ list -> [String] (9304.0) -
必要条件を文字列の配列で返します。
必要条件を文字列の配列で返します。
//emlist[][ruby]{
req = Gem::Requirement.new("< 5.0", ">= 1.9")
p req.as_list # => ["< 5.0", ">= 1.9"]
//} -
Gem
:: Requirement # to _ s -> String (9304.0) -
条件を表す文字列を返します。
条件を表す文字列を返します。
//emlist[][ruby]{
req = Gem::Requirement.new(["< 5.0", ">= 1.9"])
p req.to_s # => "< 5.0, >= 1.9"
//} -
StringScanner
# <<(str) -> self (9109.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 (9109.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 (9091.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
# search _ full(regexp , s , f) -> object (9073.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
* f が false ならばスキャン開始位置からマッチした部分の末尾までの部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と ... -
StringScanner
# unscan -> self (9073.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 (9055.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 (9055.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
# match?(regexp) -> Integer | nil (9055.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
# matched _ size -> Integer | nil (9055.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
# scan _ full(regexp , s , f) -> object (9055.0) -
スキャンポインタの位置から regexp と文字列のマッチを試します。
スキャンポインタの位置から regexp と文字列のマッチを試します。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばマッチした部分文字列を返します。
* f が false ならばマッチした部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と f の組み合わせにより、
他のメソッドと同等の動作になります。
*... -
StringScanner
# terminate -> self (9055.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]... -
JSON
:: Generator :: GeneratorMethods :: String # to _ json _ raw _ object -> Hash (9037.0) -
生の文字列を格納したハッシュを生成します。
生の文字列を格納したハッシュを生成します。
このメソッドは UTF-8 の文字列ではなく生の文字列を JSON に変換する場合に使用してください。
require 'json'
"にほんご".encode("euc-jp").to_json_raw_object
# => {"json_class"=>"String", "raw"=>[164, 203, 164, 219, 164, 243, 164, 180]}
"にほんご".encode("euc-jp").to_json # source sequence is illegal/malformed (JSON::... -
StringIO
# pos=(n) (9037.0) -
自身の位置を n に移動します。自身が表す文字列のサイズより大きくても構いません。
自身の位置を n に移動します。自身が表す文字列のサイズより大きくても構いません。
@param n 自身の位置を整数で指定します。
@raise Errno::EINVAL n がマイナスである場合に発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge", 'r+')
a.pos = 10
a << 'Z'
a.string #=> "hoge\000\000\000\000\000\000Z"
//} -
StringIO
# print() -> nil (9037.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 (9037.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 (9037.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 (9037.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 (9037.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 (9037.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 (9037.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 (9037.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 (9037.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 (9037.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
# pointer=(n) (9037.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 -> Integer (9037.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=(n) (9037.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
# reset -> self (9037.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 (9037.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 (9037.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 (9037.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 (9037.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 (9037.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
# bytes -> Enumerator (9019.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
# bytes {|ch| . . . } -> self (9019.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
# closed? -> bool (9019.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 (9019.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 (9019.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 (9019.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 (9019.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 (9019.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 (9019.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 (9019.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
# lines(rs = $ / ) -> Enumerator (9019.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
# lines(rs = $ / ) {|line| . . . } -> self (9019.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
# readbyte -> Integer (9019.0) -
自身から 1 文字読み込んで、その文字に対応する整数を返します。
自身から 1 文字読み込んで、その文字に対応する整数を返します。
文字列の終端に到達した時には例外 EOFError を発生させます。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.readbyte #=> 104
//}
@raise EOFError 文字列の終端に到達した時に発生します。 -
StringScanner
# beginning _ of _ line? -> bool (9019.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 (9019.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 (9019.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 -
ruby 1
. 6 feature (1153.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...