871件ヒット
[201-300件を表示]
(0.033秒)
別のキーワード
ライブラリ
- ビルトイン (154)
- psych (36)
-
rdoc
/ parser / ruby (12) - strscan (552)
- uri (48)
クラス
- Enumerator (54)
- Method (14)
- Proc (14)
-
Psych
:: ScalarScanner (12) -
Psych
:: Visitors :: YAMLTree (12) -
RDoc
:: Parser :: Ruby (12) - String (72)
- StringScanner (540)
モジュール
- URI (48)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (26)
- >> (14)
-
NEWS for Ruby 2
. 7 . 0 (6) - ScalarScanner (12)
- StringScanner (12)
- Version (12)
- [] (12)
-
beginning
_ of _ line? (12) - bol? (12)
- charpos (12)
- check (12)
-
check
_ until (12) - clear (12)
- concat (12)
- each (48)
- empty? (12)
- eos? (12)
- exist? (12)
- extract (48)
-
get
_ byte (12) - getbyte (12)
- getch (12)
- gsub (48)
- inspect (12)
- match? (12)
- matched (12)
- matched? (12)
-
matched
_ size (12) - new (24)
- peek (12)
- peep (12)
- pointer (12)
- pointer= (12)
- pos (12)
- pos= (12)
-
post
_ match (12) -
pre
_ match (12) - produce (6)
-
rb
_ define _ method (12) -
rb
_ scan _ args (12) - reset (12)
- rest (12)
- rest? (12)
-
rest
_ size (12) - restsize (12)
-
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12) -
scan
_ full (12) -
scan
_ until (12) -
search
_ full (12) - skip (12)
-
skip
_ until (12) - string (12)
- string= (12)
- terminate (12)
- tokenize (12)
- unscan (12)
- xmlrpc (3)
検索結果
先頭5件
-
StringScanner
# pre _ match -> String | nil (3036.0) -
前回マッチを行った文字列のうち、マッチしたところよりも前の 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。
...例][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 # => "test"
s.scan(/\w+/) # => "string"
s.pre_match # => "test "
s.scan(/\w+... -
StringScanner
# <<(str) -> self (3030.0) -
操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。
...。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.scan(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] # => "est"
s << ' string' # => #<StringScanner 4/11 "test" @......"est"
s.scan(/\s+/) # => " "
s.scan(/\w+/) # => "string"
//}
この操作は StringScanner.new に渡した文字列にも影響することがあります。
//emlist[例][ruby]{
require 'strscan'
str = 'test'
s = StringScanner.new(str) # => #<StringScanner 0/4 @......"test">
s << ' string' # => #<StringScanner 0/11 @ "test ...">
str # => "test string"
//}... -
StringScanner
# [](nth) -> String | nil (3030.0) -
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。
...列を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w(\w)(\w*)/) # => "test"
s[0] # => "test"
s[1] # => "e"
s[2] # => "st"
s.scan(/\w+/) # => nil
s[0] # =......> nil
s[1] # => nil
s[2] # => nil
s.scan(/\s+/) # => " "
s[0] # => " "
s[1] # => nil
s[2] # => nil
s.scan(/\w(\w)(\w*)/) # => "string"
s[0] # => "string"
s[1] # => "t"
s[2]... -
StringScanner
# concat(str) -> self (3030.0) -
操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。
...。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.scan(/\w(\w*)/) # => "test"
s[0] # => "test"
s[1] # => "est"
s << ' string' # => #<StringScanner 4/11 "test" @......"est"
s.scan(/\s+/) # => " "
s.scan(/\w+/) # => "string"
//}
この操作は StringScanner.new に渡した文字列にも影響することがあります。
//emlist[例][ruby]{
require 'strscan'
str = 'test'
s = StringScanner.new(str) # => #<StringScanner 0/4 @......"test">
s << ' string' # => #<StringScanner 0/11 @ "test ...">
str # => "test string"
//}... -
StringScanner
# matched _ size -> Integer | nil (3030.0) -
前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。
...st[][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 run("EUC-JP") #=> 2
p run("Shift_Jis") #=> 2
//}
//emlist[例][ruby]{
r......equire 'strscan'
s = StringScanner.new('test string')
s.matched_size # => nil
s.scan(/\w+/) # => "test"
s.matched_size # => 4
s.scan(/\w+/) # => nil
s.matched_size # => nil
//}... -
StringScanner
# pointer=(n) (3030.0) -
スキャンポインタのインデックスを n にセットします。
...発生します。
@return n を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\w+/) # => "est"
p s.pos = 7 # => 7
p s.scan(/\w+/) # => "ring"
begin
s.pos = 20
rescue RangeError => err......puts err #=> index out of range
end
p s.pos = -4 # => -4
p s.scan(/\w+/) # => "ring"
//}... -
StringScanner
# pos=(n) (3030.0) -
スキャンポインタのインデックスを n にセットします。
...発生します。
@return n を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1 # => 1
p s.scan(/\w+/) # => "est"
p s.pos = 7 # => 7
p s.scan(/\w+/) # => "ring"
begin
s.pos = 20
rescue RangeError => err......puts err #=> index out of range
end
p s.pos = -4 # => -4
p s.scan(/\w+/) # => "ring"
//}... -
StringScanner
# string -> String (3030.0) -
スキャン対象にしている文字列を返します。
...][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.n......ではありません。
この仕様に依存したコードを書かないようにしましょう。
//emlist[例][ruby]{
require 'strscan'
str = 'test string'
s = StringScanner.new(str)
s.string == str # => true
s.string.eql?(str) # => true (将来は false になる可能性がある)
//}......ません。
この仕様に依存したコードを書かないでください。
//emlist[例][ruby]{
require 'strscan'
str = 'test string'
s = StringScanner.new(str)
s.string.replace("0123")
s.scan(/\w+/) # => "0123" (将来は "test" が返る可能性あり)
str # => "0123"... -
StringScanner
# beginning _ of _ line? -> bool (3024.0) -
スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。
...ことです。
文字列末尾は必ずしも行頭ではありません。
//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+/)
s.bol? # => false
//}...