弐ch編集のPerl講座 (231レス)
上
下
前
次
1-
新
10
:
弐ch編集
02/02/15 09:27 ID:???
AA×
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
10: 弐ch編集 [sage] 02/02/15 09:27 ID:??? ($name1, $name2, $god) = ('mike', 'mary', 'nihen'); @names = ('mike', 'mary', 'nihen'); @names = qw(mike mary nihen); %data = (name1 => 'mike', name2 => 'mary', god => 'nihen'); %data = qw(name1 mike name2 mary god nihen); 分かるよな?分かるようになれ。代入の話だ。 qwはqqと同じようなもので「配列として扱う」ものだ。空白や改行が区切りとみなされる。 qw[]やqw~~でもOK。 $line = <IN>; ($no, $name, $comment) = split(/<>/, $line); ファイルを処理するループの中でこんなのを見たことがあると思う。 splitで配列が返ってきてるからそれを代入してるわけだ。 ファイルの中身は「1<>nihen<>i am god.」こんな感じだろうな。 じゃあちょっとひねってみるか。 ($log{'no'}, $log{'name'}, $log{'comment'}) = split(/<>/, $line); ハッシュに入れてる。OK?さて。ここでハッシュの配列を表すいい方法がある。 @log{('no', 'name', 'comment')} = split(/<>/, $line); これだ。これをハッシュスライスという。そのままハッシュのいくつかを並べた配列、だな。 見ればなんとなくやってること分かるだろ?勘のいいお前ならこうもいけることに気付くはず。 @log{qw(no name comment)} = split(/<>/, $line); な。 だがqw(no name comment)をスクリプトのいろんな場所にいちいち書くのはコピペでも面倒だし、 途中で要素、例えばmailとかが増えると全部書き換えなくてはならない。女関係なみの面倒臭さだ。 そこでこうしてみる。 @format = qw(no name comment mail); $line = <IN>; @log{@format} = split(/<>/, $line); これで@formatを書き換えるだけでこいつを使う全ての個所に対応できるようになった。俺のようにCOOLだろ? http://medaka.5ch.net/test/read.cgi/php/1013725517/10
分かるよな?分かるようになれ代入の話だ はと同じようなもので配列として扱うものだ空白や改行が区切りとみなされる やでも ファイルを処理するループの中でこんなのを見たことがあると思う で配列が返ってきてるからそれを代入してるわけだ ファイルの中身は こんな感じだろうな じゃあちょっとひねってみるか ハッシュに入れてる?さてここでハッシュの配列を表すいい方法がある これだこれをハッシュスライスというそのままハッシュのいくつかを並べた配列だな 見ればなんとなくやってること分かるだろ?勘のいいお前ならこうもいけることに気付くはず な だが をスクリプトのいろんな場所にいちいち書くのはコピペでも面倒だし 途中で要素例えばとかが増えると全部書き換えなくてはならない女関係なみの面倒臭さだ そこでこうしてみる これでを書き換えるだけでこいつを使う全ての個所に対応できるようになった俺のようにだろ?
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 221 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.050s