superclass=Object
type=class
library=strscan
extended=
included=

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"
    s.eos?            #=> false

    p s.scan(/\s+/)   #=> " "
    p s.scan(/\w+/)   #=> "an"
    p s.scan(/\s+/)   #=> " "
    p s.scan(/\w+/)   #=> "example"
    p s.scan(/\s+/)   #=> " "
    p s.scan(/\w+/)   #=> "string"
    s.eos?            #=> true

    p s.scan(/\s+/)   #=> nil
    p s.scan(/\w+/)   #=> nil

StringScanner ֥Ȥϥ󤹤ʸȡ֥ݥ󥿡פΥåȤǤ
ݥ󥿤Ȥϥ󤷤äȤ򼨤ǥåΤȤǤ
֥Ⱥľˤϥݥ󥿤ʸƬˤꡢ
ǤΤߥޥåޤޥå餽θ˥ݥ󥿤ʤޤ

    ## a string and a scan pointer   ("_" = scan pointer)

    s = StringScanner.new('This is an example string')
    _This is an example string     s.eos? = false
    s.scan(/\w+/)
    This_ is an example string     s.eos? = false
    s.scan(/\s+/)
    This _is an example string     s.eos? = false
    s.scan(/\w+/)
    This is_ an example string     s.eos? = false
    s.scan(/\s+/)
    This is _an example string     s.eos? = false
    s.scan(/\w+/)
    This is an_ example string     s.eos? = false
    s.scan(/\s+/)
    This is an _example string     s.eos? = false
    s.scan(/\w+/)
    This is an example_ string     s.eos? = false
    s.scan(/\s+/)
    This is an example _string     s.eos? = false
    s.scan(/\w+/)
    This is an example string_     s.eos? = true

StringScanner  $~ $& $1 $2 ġ ʤɤɽϢѿ
åȤޤ StringScanner#[], #matched? ʤɤ
ޥåǡϢ᥽åɤȤäƤ
