別のキーワード
ライブラリ
- English (1)
- ビルトイン (11)
- erb (1)
- fileutils (10)
- mkmf (5)
- ripper (2)
-
ripper
/ filter (1) -
ripper
/ lexer (4) -
ripper
/ sexp (2)
クラス
- ERB (1)
-
Encoding
:: Converter (9) - IO (2)
- Ripper (8)
-
Ripper
:: Filter (1)
キーワード
-
$ LAST _ PAREN _ MATCH (1) -
$ srcdir (1) - compile (1)
- copy (1)
-
copy
_ stream (2) - cp (1)
-
cp
_ r (1) -
create
_ makefile (1) -
egrep
_ cpp (2) -
insert
_ output (1) - install (1)
-
install
_ rb (1) -
last
_ error (1) - lex (1)
- link (1)
- ln (1)
-
ln
_ s (1) - move (1)
- mv (1)
- new (2)
- parse (1)
-
primitive
_ convert (4) -
primitive
_ errinfo (1) - putback (2)
-
ruby 1
. 9 feature (1) - sexp (1)
-
sexp
_ raw (1) - slice (1)
- symlink (1)
-
token
_ match (1) - tokenize (1)
検索結果
先頭5件
-
ERB
# src -> String (54388.0) -
変換した Ruby スクリプトを取得します。
変換した Ruby スクリプトを取得します。
//emlist[例][ruby]{
require 'erb'
erb = ERB.new("test1<%= @arg1%>\ntest2<%= @arg2%>\n\n")
puts erb.src
# #coding:UTF-8
# _erbout = +''; _erbout.<< "test1".freeze; _erbout.<<(( @arg1).to_s); _erbout.<< "\ntest2".freeze
# ; _erbout.<<(( @arg2).to_s); _erbout.<< "\n\n".freeze
#... -
Kernel
$ $ srcdir -> String (18349.0) -
Ruby インタプリタを make したときのソースディレクトリです。
Ruby インタプリタを make したときのソースディレクトリです。 -
ruby 1
. 9 feature (11560.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ... -
IO
. copy _ stream(src , dst , copy _ length , src _ offset) -> Integer (820.0) -
指定された src から dst へコピーします。 コピーしたバイト数を返します。
指定された src から dst へコピーします。
コピーしたバイト数を返します。
コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst に関しても同様です。
dst にファイル名を指定し、そのファイルが存在しない場合、
ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。
src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。
@param src コピー元となる IO ... -
FileUtils
. # cp _ r(src , dest , options = {}) -> () (592.0) -
src を dest にコピーします。src がディレクトリであったら再帰的に コピーします。その際 dest がディレクトリなら dest/src にコピーします。
src を dest にコピーします。src がディレクトリであったら再帰的に
コピーします。その際 dest がディレクトリなら dest/src にコピーします。
@param src コピー元。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param dest コピー先のファイルかディレクトリです。
@param options :preserve, :noop, :verbose, :dereference_root, :remove_destination が指定できます。
c:FileU... -
FileUtils
. # ln _ s(src , dest , options = {}) -> () (589.0) -
src へのシンボリックリンク dest を作成します。
src へのシンボリックリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのシンボリックリンク dest/src[0]、src[1] への
シンボリックリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します... -
FileUtils
. # symlink(src , dest , options = {}) -> () (589.0) -
src へのシンボリックリンク dest を作成します。
src へのシンボリックリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのシンボリックリンク dest/src[0]、src[1] への
シンボリックリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します... -
FileUtils
. # move(src , dest , options = {}) -> () (571.0) -
ファイル src を dest に移動します。
ファイル src を dest に移動します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは src を dest/src へ移動します。
dest がすでに存在しディレクトリでないときは src は dest を上書きします。
src が複数の場合、
src[0] を dest/src[0]、src[1] を dest/src[1] へ移動します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param src 元のファイル。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列... -
FileUtils
. # mv(src , dest , options = {}) -> () (571.0) -
ファイル src を dest に移動します。
ファイル src を dest に移動します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは src を dest/src へ移動します。
dest がすでに存在しディレクトリでないときは src は dest を上書きします。
src が複数の場合、
src[0] を dest/src[0]、src[1] を dest/src[1] へ移動します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param src 元のファイル。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列... -
FileUtils
. # link(src , dest , options = {}) -> () (553.0) -
src へのハードリンク dest を作成します。
src へのハードリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのハードリンク dest/src[0]、src[1] への
ハードリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param... -
FileUtils
. # ln(src , dest , options = {}) -> () (553.0) -
src へのハードリンク dest を作成します。
src へのハードリンク dest を作成します。
src が一つの場合、
dest がすでに存在しディレクトリであるときは dest/src を作成します。
dest がすでに存在しディレクトリでないならば例外 Errno::EEXIST が発生します。
ただし :force オプションを指定したときは dest を上書きします。
src が複数の場合、
src[0] へのハードリンク dest/src[0]、src[1] への
ハードリンク dest/src[1] …を作成します。
dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。
@param... -
IO
. copy _ stream(src , dst , copy _ length = nil) -> Integer (520.0) -
指定された src から dst へコピーします。 コピーしたバイト数を返します。
指定された src から dst へコピーします。
コピーしたバイト数を返します。
コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst に関しても同様です。
dst にファイル名を指定し、そのファイルが存在しない場合、
ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。
src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。
@param src コピー元となる IO ... -
FileUtils
. # install(src , dest , options = {}) -> () (508.0) -
src と dest の内容が違うときだけ src を dest にコピーします。
src と dest の内容が違うときだけ src を dest にコピーします。
@param src コピー元。一つの場合は文字列でも指定可能です。
二つ以上指定する場合は配列で指定します。
@param dest コピー先のファイルかディレクトリです。
@param options :preserve, :noop, :verbose, :mode が指定できます。
c:FileUtils#options
//emlist[][ruby]{
require 'fileutils'
FileUtils.install('ruby... -
FileUtils
. # copy(src , dest , options = {}) -> () (499.0) -
ファイル src を dest にコピーします。
ファイル src を dest にコピーします。
src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。
src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。
@param src コピ... -
FileUtils
. # cp(src , dest , options = {}) -> () (499.0) -
ファイル src を dest にコピーします。
ファイル src を dest にコピーします。
src にファイルが一つだけ与えられた場合、
dest がディレクトリならdest/src にコピーします。
dest が既に存在ししかもディレクトリでないときは上書きします。
src にファイルが複数与えられた場合、
file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、
というように、ディレクトリ dest の中にファイル file1、file2、 …を
同じ名前でコピーします。dest がディレクトリでない場合は例外
Errno::ENOTDIR が発生します。
@param src コピ... -
Ripper
. slice(src , pattern , n = 0) -> String | nil (454.0) -
Ruby プログラム src のうち、 パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
Ruby プログラム src のうち、
パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
マッチしない場合は nil を返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param pattern 取り出すプログラムのパターンを文字列で指定します。
@param n pattern で指定した文字列の内、n 番目の括弧の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。
pattern は Ripper のイベント ID のリストを文字列で記... -
static NODE * compile(VALUE src
, char *file , int line) (445.0) -
Ruby の文字列または IO オブジェクト src を 構文木にコンパイルし、返します。そのとき、src が ファイル file の line 行目から始まっていると仮定します。
Ruby の文字列または IO オブジェクト src を
構文木にコンパイルし、返します。そのとき、src が
ファイル file の line 行目から始まっていると仮定します。 -
Ripper
. lex(src , filename = & # 39;-& # 39; , lineno = 1) -> [[Integer , Integer] , Symbol , String] (442.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
Ruby プログラム str をトークンに分割し、そのリストを返します。
ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
require 'pp'
pp Ripper.lex("def m... -
Ripper
. sexp(src , filename = & # 39;-& # 39; , lineno = 1) -> object (442.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
Ruby プログラム str を解析して S 式のツリーにして返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。
//emlist[例][ruby]{
require 'ripper'
require 'pp'
pp Ripper.sexp("def m(a)... -
Ripper
. sexp _ raw(src , filename = & # 39;-& # 39; , lineno = 1) -> object (442.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
Ruby プログラム str を解析して S 式のツリーにして返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。
//emlist[例][ruby]{
require 'ripper'
require 'pp'
pp Ripper.sexp_raw("def ... -
Ripper
. tokenize(src , filename = & # 39;-& # 39; , lineno = 1) -> [String] (442.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。
Ruby プログラム str をトークンに分割し、そのリストを返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
p Ripper.tokenize("def m(a) nil end")
# => ["def", " ", "m", "(", "a", ")", "... -
Ripper
. token _ match(src , pattern) -> Ripper :: TokenPattern :: MatchData | nil (400.0) -
Ruby プログラム src に対してパターン pattern をマッチし、 マッチデータを返します。
Ruby プログラム src に対してパターン pattern をマッチし、
マッチデータを返します。
ライブラリ内部で使用します。 -
Ripper
. new(src , filename = "(ripper)" , lineno = 1) -> Ripper (394.0) -
Ripper オブジェクトを作成します。
Ripper オブジェクトを作成します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "(ripper)" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
src の解析を行うには更に Ripper#parse などの呼び出しが必要です。
@see Ripper.parse, Ripper#parse -
Kernel
# egrep _ cpp(pattern , src , opt = "") -> bool (391.0) -
C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。
C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。
CPP $CFLAGS opt | egrep pat
を実行し、その結果が正常かどうかを true または false で返します。
このメソッドはヘッダファイルに関数などの宣言があるかどうか
検査するために使用します。
@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。
@param src C 言語のソースコードを文字列で記述します。
@see ... -
Kernel
# egrep _ cpp(pattern , src , opt = "") { . . . } -> bool (391.0) -
C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pattern にマッチするかどうかを判定します。
C プログラムのソースコード src をプリプロセスし、
その結果が正規表現 pattern にマッチするかどうかを判定します。
CPP $CFLAGS opt | egrep pat
を実行し、その結果が正常かどうかを true または false で返します。
このメソッドはヘッダファイルに関数などの宣言があるかどうか
検査するために使用します。
@param pattern 「egrep の」正規表現を文字列で指定します。
Ruby の正規表現ではありません。
@param src C 言語のソースコードを文字列で記述します。
@see ... -
Ripper
. parse(src , filename = & # 39;(ripper)& # 39; , lineno = 1) -> nil (376.0) -
指定された文字列を解析します。常に nil を返します。
指定された文字列を解析します。常に nil を返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "(ripper)" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
@see Ripper#parse -
Ripper
:: Filter . new(src , filename = & # 39;-& # 39; , lineno = 1) -> Ripper :: Filter (376.0) -
Ripper::Filter オブジェクトを作成します。
Ripper::Filter オブジェクトを作成します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。 -
Kernel
# create _ makefile(target , srcprefix = nil) -> true (337.0) -
@todo
@todo
Kernel#have_library などの各種検査の結果を元に、拡張ライブラリを
ビルドするための Makefile を生成します。
extconf.rb は普通このメソッドの呼び出しで終ります。
@param target ターゲットとなる拡張ライブラリの名前を指定します。
例えば、拡張ライブラリで "Init_foo" という関数を定義して
いる場合は、"foo" を指定します。
'/' を含む場合は、最後のスラッシュ以降のみをターゲット名
として使用します... -
Kernel
# install _ rb(mfile , dest , srcdir = nil) -> Array (319.0) -
このメソッドは create_makefile が使用します。 内部用のメソッドです。
このメソッドは create_makefile が使用します。
内部用のメソッドです。
ディレクトリ srcdir/lib 配下の Ruby スクリプト (*.rb ファイル)
を dest にインストールするための Makefile 規則を mfile に出力します。
srcdir/lib のディレクトリ構造はそのまま dest 配下に反映されます。
@param mfile Makefile を表す File のインスタンスです。
@param dest インストールする先のディレクトリを指定します。
@param srcdir ソースディレクトリを指定します。 -
Encoding
:: Converter # insert _ output(string) -> nil (199.0) -
変換器内のバッファに文字列を挿入します。 バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換器内のバッファに文字列を挿入します。
バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換先がステートフルなエンコーディングであった場合、
挿入された文字列は状態に基づいて変換され、状態を更新します。
このメソッドは変換に際してエラーが発生した際にのみ利用されるべきです。
@param string 挿入する文字列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec.... -
Encoding
:: Converter # primitive _ errinfo -> Array (181.0) -
直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。
直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。
@return [result, enc1, enc2, error_bytes, readagain_bytes] という五要素の配列
result は直前の primitive_convert の戻り値です。
それ以外の四要素は :invalid_byte_sequence か :incomplete_input か :undefined_conversion だった場合に意味を持ちます。
enc1 はエラーの発生した原始変換の変換元のエンコーディング... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer) -> Symbol (73.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset) -> Symbol (73.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize) -> Symbol (73.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize , options) -> Symbol (73.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # last _ error -> Exception | nil (55.0) -
直前に変換器で発生した例外に相当する例外オブジェクトを返します。 直前の変換で例外が発生していない場合は nil を返します。
直前に変換器で発生した例外に相当する例外オブジェクトを返します。
直前の変換で例外が発生していない場合は nil を返します。
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
p ec.primitive_convert(src="\xf1abcd", dst="") #=> :invalid_byte_sequence
p ec.last_error #=> #<Encoding::InvalidByteSequenceError: "\xF1" followed by "a"... -
Encoding
:: Converter # putback -> String (55.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納されていたバイト列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>... -
Encoding
:: Converter # putback(max _ numbytes) -> String (55.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納されていたバイト列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>... -
Kernel
$ $ LAST _ PAREN _ MATCH -> String | nil (55.0) -
$+ の別名
$+ の別名
require "English"
r1 = Regexp.compile("<img src=(http:.+?)>")
r2 = Regexp.compile("<a href=(http|ftp).+?>(.+?)</a>")
while line = DATA.gets
[ r1, r2 ].each {|rep|
rep =~ line
p $+
}
end
__END__
<tr> <td><img src=http://localhost/a.jpg></td> <td>ikkou</td>...