1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset="euc-jp"">
<title>Usage</title>
</head>
<body bgcolor="#FFFFFF" >
<h1>strscan λȤ</h1>
<hr>
<h2>ٹ</h2>
<p>
strscan ˤ C Ǥ Ruby ǤޤRuby Ǥ C ǤȻư
ޤŪ˸㤤ޤɬΥڡǸˤ㤤
ɤǤȤäƤ
<h2>ŪʻȤ</h2>
<p>
ʲ˴ñޤ
</p>
<blockquote><pre>
sc = StringScanner.new( string )
while sc.rest? do
sc.skip /\A\s+/
if tmp = sc.scan( /\A\w+/ ) then
puts tmp
end
end
</pre></blockquote>
<p>
Υɤϡʸñڤɽޤ
StringScanner ʸȡ֤ɤޤǥפݥåȤ
ʤä褦ʥ֥ȤǡɽȤΥޥåʤäƤΥݥ
ʤƤȤǥԤޤ
</p>
<p>
StringScanner νפʥåɤϻĤǤ
scan ϺǤפʥåɤǡͿ줿ɽޥåʬڤФ
֤ޤskip ϥޥåʬ˥ݥʤǡ֤ͤޤ
empty? ϥݥǸޤǤäɤ֤ͤåɤǤ
rest? ϤȿФǤ
</p>
<p>
scan Ȥä硢ɤɽǤʸƬˤΤ
ޥåޤȤС/string/ ξ硢<em>Ƭ</em> 'string' Ȥ
ʸΤߥޥåޤϡǻȤؿ Ruby
ǥեȤȰ㤦Ǥ̾ Ruby ɽΤ褦ʵưˤϡ
scan_until ʤɤ until ϥåɤȤޤ<br>
</p>
<p>
until ϥåɤǤʸ
뤳ȤϤǤޤ㤨мΤ褦ʾϡ
</p>
<blockquote><pre>
s = StringScanner.new( "word1 word2" )
ret = s.scan_until( /\s+/ )
</pre></blockquote>
<p>
ret "word1 " Ȥʤ " " ˤϤʤޤ
</p>
<h1>Ruby strscan ˤĤ</h1>
<p>
ĥ⥸塼ѥǤʤǤȤȤͳ顢
strscan ˤ Ruby СѰդƤޤ Ruby
СϺŪʤȤ˰㤤ޤǽפʤΤ scan, skip
ʤɤΥåɤϤɽ \A ǻϤޤäƤɬפ뤳ȤǤ
ޤ scan_until ʤ until ϥåɤˤ \A ʳǻϤޤɽ
ϤʤưޤξΥåɤȤϡĥ⥸塼Ǥ
Ruby Ǥϴʪȹͤۤ褤Ǥ礦
</p>
<p>
ޤʸФ Ruby ǤȤȰ۾ư٤ʤޤ
ϼɤ褦⤢ޤ
</p>
<p>
Ruby СȤƤ뤫ɤ StringScanner.name
ߤФ狼ޤStringScanner_C Ȥʤ C ǤǡStringScanner_R
ʤ Ruby ǤǤ
</p>
<hr><p>
Copyright (c) 1999-2001 Minero Aoki
<a href="mailto:aamine@loveruby.net"> <aamine@loveruby.net></a>
</body>
</html>
|