るりまサーチ

最速Rubyリファレンスマニュアル検索!
429件ヒット [1-100件を表示] (0.025秒)

別のキーワード

  1. kernel test
  2. _builtin test
  3. rubygems/test_utilities tempio
  4. rubygems/test_utilities fetcher=
  5. validator unit_test

クラス

キーワード

検索結果

<< 1 2 3 ... > >>

StringScanner#<<(str) -> self (63.0)

操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。

...][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" @ " stri...">
s[0]...
...# => "test"
s[1] # => "est"
s.scan(/\s+/) # => " "
s.scan(/\w+/) # => "string"
//}

この操作は StringScanner.new に渡した文字列にも影響することがあります。

//emlist[例][ruby]{
require 'strscan'

str = 'test'
s = S...
...tringScanner.new(str) # => #<StringScanner 0/4 @ "test">
s << ' string' # => #<StringScanner 0/11 @ "test ...">
str # => "test string"
//}...

StringScanner#concat(str) -> self (63.0)

操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。

...][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" @ " stri...">
s[0]...
...# => "test"
s[1] # => "est"
s.scan(/\s+/) # => " "
s.scan(/\w+/) # => "string"
//}

この操作は StringScanner.new に渡した文字列にも影響することがあります。

//emlist[例][ruby]{
require 'strscan'

str = 'test'
s = S...
...tringScanner.new(str) # => #<StringScanner 0/4 @ "test">
s << ' string' # => #<StringScanner 0/11 @ "test ...">
str # => "test string"
//}...

StringScanner#peek(bytes) -> String (63.0)

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

...ャンポインタから長さ bytes バイト分だけ文字列を返します。

//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

また、このメソッドを実行してもスキャンポインタは移動しません。

StringScanner#pe...
...][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentError => err
puts err # negative string size (or size too big)
end
p s.scan(/\w+/) # => "test"
p s.scan(/\s+/) #...
...ing"
p s.peek(4) # => ""

# このメソッドを実行してもスキャンポインタは移動しません。

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(4) # => "test"
p s.scan(/\w+/) # => "test"
p s.peek(4) # => " str"
p s.peek(4) # => " str"
//}...

StringScanner#peep(bytes) -> String (63.0)

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

...ャンポインタから長さ bytes バイト分だけ文字列を返します。

//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}

また、このメソッドを実行してもスキャンポインタは移動しません。

StringScanner#pe...
...][ruby]{
require 'strscan'

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(20) # => "test string"
p s.peek(0) # => ""
begin
s.peek(-1)
rescue ArgumentError => err
puts err # negative string size (or size too big)
end
p s.scan(/\w+/) # => "test"
p s.scan(/\s+/) #...
...ing"
p s.peek(4) # => ""

# このメソッドを実行してもスキャンポインタは移動しません。

s = StringScanner.new('test string')
p s.peek(4) # => "test"
p s.peek(4) # => "test"
p s.scan(/\w+/) # => "test"
p s.peek(4) # => " str"
p s.peek(4) # => " str"
//}...

StringScanner#string -> String (45.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
//}

なお、...
...けではありません。
この仕様に依存したコードを書かないようにしましょう。

//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" (将来は "test string" が返る可能性あり)
//}...

絞り込み条件を変える

StringScanner#unscan -> self (39.0)

スキャンポインタを前回のマッチの前の位置に戻します。

...インタを前回のマッチの前の位置に戻します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
//}


@return selfを返します。

このメソッドでポインタを戻せるのは 1 回...
...{
require 'strscan'

s = StringScanner.new('test string')
begin
# マッチを一度も行っていないので、例外が発生する。
s.unscan
rescue StringScanner::Error => err
puts err
# 出力例
#=> unscan failed: previous match had failed
end
p s.scan(/\w+/) # => "test"
s.unscan...
...
s.unscan
rescue StringScanner::Error => err
puts err
# 出力例
#=> unscan failed: previous match had failed
end
p s.scan(/\w+/) # => "test"
p s.scan(/\w+/) # => nil
begin
# 前回のマッチが失敗しているので、例外が発生する。
s.unscan
rescue => err
puts err...

StringScanner#inspect -> String (33.0)

StringScannerオブジェクトを表す文字列を返します。

...mlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.inspect # => "#<StringScanner 0/11 @ \"test ...\">"
s.scan(/\w+/) # => "test"
s.inspect # => "#<StringScanner 4/11 \"test\" @ \" stri...\">"
s.scan...
...(/\s+/) # => " "
s.inspect # => "#<StringScanner 5/11 \"test \" @ \"strin...\">"
s.scan(/\w+/) # => "string"
s.inspect # => "#<StringScanner fin>"
//}...

StringScanner#clear -> self (27.0)

スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。

...os = 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] # => nil
s.pos # =>...

StringScanner#pre_match -> String | nil (27.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#reset -> self (27.0)

スキャンポインタを文字列の先頭 (インデックス 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] # => nil
s.pos # => 0
//...

絞り込み条件を変える

<< 1 2 3 ... > >>