Perlについての質問箱 30箱目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/03/14(水) 22:54:12"There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板 http://pc8.2ch.net/php/ )
CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
http://www.perl.org/get.html
● 2006/12/21現在の最新版: 5.8.8
● 2006/12/21現在の開発版: 5.9.3
前スレ
Perlについての質問箱 29箱目
http://pc11.2ch.net/test/read.cgi/tech/1166708139/
リンク集は>>2-3
過去スレは>>4
0708デフォルトの名無しさん
2007/05/21(月) 23:06:21ラクダも読み物として面白いけど、Cookbookのほうが実践的なテクニックを身に付けられるんでないかな。
0709デフォルトの名無しさん
2007/05/21(月) 23:57:50なんつーか、その、K○NTクローンが増えても困るっつーか
0710デフォルトの名無しさん
2007/05/22(火) 00:20:380711デフォルトの名無しさん
2007/05/22(火) 00:38:13○ャ○から入って、○○○と○○○○○○○○を併用さ。
ラクダ?○○○○○○c で十分
…中途半端じゃない伏せ字も頭悪い。
0712デフォルトの名無しさん
2007/05/22(火) 00:52:260713デフォルトの名無しさん
2007/05/22(火) 00:56:24> ○ャ○から入って、○○○と○○○○○○○○を併用さ。
ジャバ、コボル、N88BASIC?
> ラクダ?○○○○○○c で十分
わがんね。
本題のほうは「なんでバレバレの伏せ字を使う人がいるのか」が昔から不思議。
0714デフォルトの名無しさん
2007/05/22(火) 01:04:420715デフォルトの名無しさん
2007/05/22(火) 01:08:17あえて理由付けするなら、検索に引っかからないため。
まぁ、やってる方の心理としては○○だと思うがw
0716713
2007/05/22(火) 01:20:11ボケが思いつかなくて「わがんね」でした。手間をかけさせてごめんなさい。
>>715
うーん、検索ですか。なるほど。
でも、△△△にする○○の大半は××なだけなんでしょうね。
0717デフォルトの名無しさん
2007/05/22(火) 01:51:290718デフォルトの名無しさん
2007/05/22(火) 02:37:09useを使用し、下位ディレクトリにあるモジュールを読み込むには
use ディレクトリ名::モジュール名;
なのはどの初級者本にも書いてあるのですが、
上位ディレクトリにあるモジュールの読み込み方が分かりません。
パスはどう書けばよろしいのでしょうか?
0719デフォルトの名無しさん
2007/05/22(火) 03:48:180720デフォルトの名無しさん
2007/05/22(火) 07:22:32十代後半の女オタクの馴れ合いみたいで気持ち悪いよね。
0721デフォルトの名無しさん
2007/05/22(火) 08:20:440722デフォルトの名無しさん
2007/05/22(火) 13:39:110723デフォルトの名無しさん
2007/05/22(火) 15:24:140724デフォルトの名無しさん
2007/05/22(火) 15:43:310725デフォルトの名無しさん
2007/05/22(火) 15:58:390726デフォルトの名無しさん
2007/05/22(火) 16:30:10ありがとうございました。できました。
0727デフォルトの名無しさん
2007/05/22(火) 18:07:33爆笑
0728デフォルトの名無しさん
2007/05/22(火) 18:08:03同じプログラム内で再度、標準入力から取得することは可能ですか?
既存のプログラムに、入力チェックを追加したいのですが、2回目はデータが空になります(当たり前?
一応、seekしてみたのですが、うまく戻りそうにありません
バカな質問している気がしていますが、「そんなことできるワケねぇだろ、バカ」でも良いのでアドバイス下さい
0729デフォルトの名無しさん
2007/05/22(火) 18:11:190730デフォルトの名無しさん
2007/05/22(火) 18:23:30>>1嫁
0731デフォルトの名無しさん
2007/05/22(火) 18:25:33過去に戻れるなんて素敵だぜ
0732デフォルトの名無しさん
2007/05/22(火) 18:26:16すみませんでした
そちらで質問してみます
0733デフォルトの名無しさん
2007/05/22(火) 18:41:44このコメントだけで十分な説明になってるな
0734デフォルトの名無しさん
2007/05/22(火) 19:03:040735デフォルトの名無しさん
2007/05/22(火) 20:34:550736デフォルトの名無しさん
2007/05/22(火) 20:36:070737デフォルトの名無しさん
2007/05/22(火) 20:45:580738デフォルトの名無しさん
2007/05/22(火) 21:49:02起動が多少遅くなるので
別な方法がないか教えてもらえませんか
使用用途としては
下記のようなものです
単にifで分けると モジュール部もすべて読み込むようなので
両方ともないとエラーになりました
evalで囲めばそれっぽくうごきますが
しっくりきません。
#ifdef HOGEHOGE
use HOGEHOGE;
〜〜〜
#else
use HOGEHOGE2;
〜〜〜
#endif
0739デフォルトの名無しさん
2007/05/22(火) 22:51:27UNIVERSAL::require 使えば解決するようなコトじゃないかな?
0740デフォルトの名無しさん
2007/05/22(火) 22:52:13use $ENV{'HOGEHOGE'};
とかして環境変数HOGEHOGEから渡せないかなと思ったがダメだった。
0741738
2007/05/22(火) 22:58:53趣旨的には 740のとおり useだけじゃなくて
汎用的に使える方法がないかと(まぁ -Pで出来るんですがあんまり標準的じゃないような気がして)
目的としては、環境がある程度違っても
ソースを複数管理するのは面倒なので同一ソースで動かしたいです
下記のようなのも出来ると非常に助かります
#ifdef hogehoge
while(1) {
#endif
〜〜〜〜〜
#ifdef hogehoge
}
#endif
0742デフォルトの名無しさん
2007/05/22(火) 23:39:450743デフォルトの名無しさん
2007/05/22(火) 23:41:58かと思ったけどなんか違うよね
0744デフォルトの名無しさん
2007/05/23(水) 00:20:43-P 使うからには、pure perl じゃなく C 関係?
それとも pure perl でホスト毎に挙動を変更したいの?
前者だったら、 Inline::C と後述を噛み合わせて…
後者だったら、ベタだけど Sys::Hostname で hostname ゲットして
BEGIN{if ( $hostname ...){}else{} } あたり?
後者なら、もっとべたべたにソース全般で挙動を分けられるし、
実際やってるけど、前者だったらやろうと云う気にもならぬ。
って素人の口出しすまぬ。
0745デフォルトの名無しさん
2007/05/23(水) 00:29:530746デフォルトの名無しさん
2007/05/23(水) 00:52:02ソコでSys::Hostnameは使っているけど、もっと良い手があれば知りたいものだ
0747デフォルトの名無しさん
2007/05/23(水) 01:16:42その環境変数によってunix系の時と動作変えてる。
0748738
2007/05/23(水) 08:38:37当面の目標としては
PurePerlでmod_perl2(ModPerl::RegistryPrefork)とFastCGIで
同一ソースを使えるようにしたいと思ってます
FastCGI対応にするためには
読み込みモジュールの差し替え(CGI->CGI::Fast)とループ処理が増えるので
738,741のようなことができないかなと思った次第です、
良い方法がないかなと
0749デフォルトの名無しさん
2007/05/23(水) 09:35:25Catalystあたりを参考にしれ
0750デフォルトの名無しさん
2007/05/23(水) 09:49:31Rubyだとわりと簡単にFastCGI対応できるみたい。
Perlでも同じようにできないかな?
既存のCGIを変更無しでFastCGIに
ttp://sugi.nemui.org/wiki/%B4%FB%C2%B8%A4%CECGI%A4%F2%CA%D1%B9%B9%CC%B5%A4%B7%A4%C7FastCGI%A4%CB
0751デフォルトの名無しさん
2007/05/23(水) 09:55:29Catalyst::Engine::FastCGI
http://search.cpan.org/~mramberg/Catalyst-Runtime-5.7007/lib/Catalyst/Engine/FastCGI.pm
CGI::Application::FastCGI
http://search.cpan.org/~naoya/CGI-Application-FastCGI-0.02/lib/CGI/Application/FastCGI.pm
0752デフォルトの名無しさん
2007/05/23(水) 12:07:100753デフォルトの名無しさん
2007/05/23(水) 14:12:31あるファイル(数万行の数字データ)の上から1行ずつ順番に読み込んで
最終行になるとまた1行目に戻って・・・という作業をしたいのです
途中でプログラムを閉じて再開したときも次の行から開始が可能であれば
もう言うことナシですが,残念ながら自分では何とも出来ず
丸2日間ネット上で調べに調べ
srand();
open(FILE, "data.txt");
rand($.) < 1 and $line = $_ while <FILE>;
close(FILE);
$line =~ s/\n//g;
とランダムで1行読み込む仕様で妥協するのが限界でした
もし上記作業がperlで可能でしたら申し訳ないですが
教えていただけないでしょうか
可能な方いらっしゃいましたら どうかお願いします。
0754デフォルトの名無しさん
2007/05/23(水) 14:13:460755753
2007/05/23(水) 14:27:55イカのような感じで半永久的に作業が続くわけでして・・・^^;
print <<"_HTML_";
Content-type: text/html
<html><head>
<meta http-equiv="refresh" content="5; url=aaa.cgi">
0756デフォルトの名無しさん
2007/05/23(水) 14:34:480757デフォルトの名無しさん
2007/05/23(水) 14:38:03とりあえずCGIは置いといて、まずファイルの入力の基本をググって調べればいいんじゃね
0758デフォルトの名無しさん
2007/05/23(水) 14:38:300759デフォルトの名無しさん
2007/05/23(水) 14:47:34イカ=print <<・・、がどこから出て来たかわからん、ってことだよ
0760デフォルトの名無しさん
2007/05/23(水) 14:52:370761デフォルトの名無しさん
2007/05/23(水) 14:54:09以下のように、が、"<meta http-equiv="refresh" content="5; url=aaa.cgi">" を指してるんじゃないの?
大体、何を言わんとしてるかはわかる
0762753
2007/05/23(水) 14:56:30すみません・・・
えーっと
5秒おきにaaa.cgiにアクセスしてIEの画面に数字を順番に
表示させたいだけなんです
753で書いた方法で $line の数値を表示させるだけと言えば
伝わりますかね・・・
0763デフォルトの名無しさん
2007/05/23(水) 15:02:20CookieやURIのクエリ部分だとか、サーバ上のファイルとかメモリとか。
0764デフォルトの名無しさん
2007/05/23(水) 15:02:570765753
2007/05/23(水) 15:05:13どっちか悩んだあげくこっちに書いてしまいました
お邪魔しました
0766764
2007/05/23(水) 15:06:45対象マシンのメモリ可哀想だな。 しかも、IEがそのデータを表示仕切る前に
IE落ちるだろうし、表示仕切る前に5秒経って更新かかるだろうな。
しかも、更新しようにもかなりの負荷がかかってるからモッサリ。
ブラウザクラッシャーでも作ろうとしてるのか?
0767753
2007/05/23(水) 15:10:091行目表示して5秒後には2行目・・・みたいな感じで。
順番に表示されるのを見て 手元のデータと比較していくだけの
単調な作業なんです
0768デフォルトの名無しさん
2007/05/23(水) 15:26:280769デフォルトの名無しさん
2007/05/23(水) 15:56:500770デフォルトの名無しさん
2007/05/23(水) 16:12:49数万行のデータを手元に持ってきてjavascriptで順次表示させた方が増しな気がする。
何行目を表示させているかも、少し離して表示させておけば、中断したときには手書きでメモれば十分だろう。
表示開始行数は引数で与えれば再開できるし。
0771デフォルトの名無しさん
2007/05/23(水) 17:25:550772デフォルトの名無しさん
2007/05/23(水) 17:34:38BEFOREHAND: close door, each window & exit; wait until time.
open spellbook, study, read (scan, select, tell us);
write it, print the hex while each watches,
reverse its length, write again;
kill spiders, pop them, chop, split, kill them.
unlink arms, shift, wait & listen (listening, wait),
sort the flock (then, warn the "goats" & kill the "sheep");
kill them, dump qualms, shift moralities,
values aside, each one;
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill the next sacrifice, each sacrifice,
wait, redo ritual until "all the spirits are pleased";
do it ("as they say").
do it(*everyone***must***participate***in***forbidden**s*e*x*).
return last victim; package body;
exit crypt (time, times & "half a time") & close it,
select (quickly) & warn your next victim;
AFTERWORDS: tell nobody.
wait, wait until time;
wait until next year, next decade;
sleep, sleep, die yourself,
die at last
# Larry Wall
これどういう意味?暇だったら訳してくれ
0773デフォルトの名無しさん
2007/05/23(水) 17:35:38Excelでも十分かもしれん。
0774デフォルトの名無しさん
2007/05/23(水) 17:42:02で、sleep(5)とか
0775デフォルトの名無しさん
2007/05/23(水) 18:14:28excel だけど win は一万行平気で開く?
cat -n hoge.log | more で十分だったりw
0776デフォルトの名無しさん
2007/05/23(水) 18:26:06ラクダ本3版Volume2に訳が出てるお
0777デフォルトの名無しさん
2007/05/23(水) 18:39:22本当はそんな感じ(と、行番号カウンタか)でいいんだと思うよ。
Web鯖に吐かせるべき理由があるんだかどーなんだか。
0778デフォルトの名無しさん
2007/05/23(水) 18:45:09for >= grep > mapって感じみたいなのですがなんでmapだけこんなに遅いのでしょう?
■テストコード
use Benchmark qw/cmpthese/;
use strict;
use warnings;
my $LOOP = 100;
my @SEED = ('a'..'z','A'..'Z',0..9);
my @DATA = map {$SEED[int rand @SEED]} 1..10000;
my %TABLE = map {$_=>$SEED[int rand @SEED]} @SEED;
cmpthese($LOOP, {
#非破壊
'map1' => sub {my @hoge = map { $TABLE{$_} } @DATA; 1;},
'grep1' => sub {my @hoge;grep push(@hoge,$TABLE{$_}),@DATA;1;},
'for1' => sub {my @hoge;push(@hoge,$TABLE{$_}) for(@DATA);1;},
#破壊
'map2' => sub {map {$_=$TABLE{$_}} @DATA ;1;},
'grep2' => sub {grep $_=$TABLE{$_},@DATA;1;},
'for2' => sub {$_ = $TABLE{$_} for(@DATA);1;},
});
0779デフォルトの名無しさん
2007/05/23(水) 18:47:30Rate map1 map2 for1 grep1 grep2 for2
map1 25.8/s -- -14% -32% -33% -66% -69%
map2 30.1/s 17% -- -21% -22% -60% -64%
for1 38.0/s 48% 26% -- -2% -50% -54%
grep1 38.6/s 50% 28% 2% -- -49% -53%
grep2 75.8/s 194% 152% 99% 96% -- -8%
for2 82.6/s 221% 174% 117% 114% 9% --
■結果 2回目
Rate map1 map2 grep1 for1 grep2 for2
map1 24.6/s -- -16% -33% -33% -71% -71%
map2 29.2/s 19% -- -20% -21% -65% -66%
grep1 36.6/s 49% 26% -- -1% -56% -57%
for1 36.9/s 50% 27% 1% -- -56% -57%
grep2 83.3/s 239% 186% 127% 126% -- -3%
for2 85.5/s 248% 193% 133% 132% 3% --
■結果 3回目
Rate map1 map2 grep1 for1 grep2 for2
map1 23.3/s -- -17% -33% -37% -72% -73%
map2 27.9/s 20% -- -20% -25% -66% -67%
grep1 35.0/s 50% 25% -- -6% -57% -59%
for1 37.0/s 59% 33% 6% -- -55% -56%
grep2 82.0/s 252% 193% 134% 121% -- -3%
for2 84.7/s 264% 203% 142% 129% 3% --
0780デフォルトの名無しさん
2007/05/23(水) 19:28:11一つだけ全く別のことやってりゃそりゃ遅い罠。
map2が遅いのはfor2grep2と違ってブロック評価してるからだと思う。
とりあえず
'map1' => sub { my @hoge; map { push @hoge, $TABLE{$_} } @DATA; 1; },
'map2' => sub { map $_ = $TABLE{$_} , @DATA; 1; },
に書き換えたらグループごとの速度は大差なくなるはず。
関係ないけど最近のPerlのmapは
同じことやるforeachより速くなったりするのでびっくり。
古いバージョンなら戻り値使わない時は絶対forって言えたんだけどな。
0781デフォルトの名無しさん
2007/05/23(水) 19:30:42Rate grep1 for1 map1 grep2 map2 for2
grep1 19.8/s -- -1% -3% -64% -64% -65%
for1 20.0/s 1% -- -2% -64% -64% -65%
map1 20.4/s 3% 2% -- -63% -63% -64%
grep2 55.2/s 179% 176% 171% -- -1% -3%
map2 55.5/s 180% 177% 172% 1% -- -3%
for2 57.0/s 188% 185% 180% 3% 3% --
0782デフォルトの名無しさん
2007/05/23(水) 20:02:21map2はsub {map {$_=$TABLE{$_};1;} @DATA ;1;}
とすると順位があがりました。余計なメモリコピーが発生してたみたいです。
さらに>>780さんの指摘を受けて
'map1' => sub {my @hoge;map push(@hoge,$TABLE{$_}),@DATA; 1;},
'map2' => sub {map $_=$TABLE{$_},@DATA ;1;},
に変更したところ若干forが優勢っぽいですがほとんど同じ結果になるようになりました。
組み込みの関数なのでperlのバージョンによって変わってくる部分もありそうですね。
テスト環境はperl v5.8.5でした。(書き忘れ)
大変わかりやすい説明ありがとうございました。
0783デフォルトの名無しさん
2007/05/23(水) 20:05:520785デフォルトの名無しさん
2007/05/25(金) 01:12:04Perlでは初めてオブジェクト指向のコードを書いているのですが、
下記のようなコードでアロー演算子と行入力演算子が併用できなくて困っています。
一度他のローカル変数にファイルハンドルを代入してやればうまくいくのですが、
もっとスマートに、オブジェクトが持つファイルハンドルから行入力する方法はあるのでしょうか。
use strict;
sub parse
{
my $this = shift;
my @data = <$this->{fh_lex}>; # 文法エラー
# 下のコードなら成功
# my $fh = $this->{fh_lex};
# my @data = <$fh>;
for (@data) {
;# 省略
}
}
0786デフォルトの名無しさん
2007/05/25(金) 01:59:16括弧の中を $fh のような形をしたスカラ変数にしないとダメだから、
一時的に変数を作るしかないね。
my @data = sub{$_=shift;<$_>}->($this->{fh_lex}); とかw
0787デフォルトの名無しさん
2007/05/25(金) 02:08:240788デフォルトの名無しさん
2007/05/25(金) 02:09:520789デフォルトの名無しさん
2007/05/25(金) 02:22:28とかダメ? 試してないけど。
0790デフォルトの名無しさん
2007/05/25(金) 02:31:13ダメだよ。やってみたw
<>を放棄した技だけどw
my @data = readline $$this{fh_lex} ;
0791デフォルトの名無しさん
2007/05/25(金) 02:37:14my @data = readline $this->{fh_lex};
でよかろ。
0792デフォルトの名無しさん
2007/05/25(金) 04:08:38別に無理に1行に書かなくても地味に$fhに代入した方がよっぽど明示的で
よいコードに見える。
どうしてもっていうんなら、$thisがオブジェクトならオーバーロードを使ってみては?
0793デフォルトの名無しさん
2007/05/25(金) 18:39:22>>780
http://search.cpan.org/~nwclark/perl-5.8.8/pod/perl581delta.pod#Miscellaneous_Enhancements
> map in void context is no longer expensive. map is now context aware,
> and will not construct a list if called in void context.
perlstyle でやるなって言われてるのに、悪い癖を直そうとしない子が
あまりに多いから実装側でフォローした、と俺は解釈してる。
0794デフォルトの名無しさん
2007/05/25(金) 18:48:260795デフォルトの名無しさん
2007/05/25(金) 19:11:110796785
2007/05/25(金) 22:27:59みなさんどうもありがとうございます。
やはりPerlとはいえ表記上の制約はあるんですね。
にも関わらず他の方法がいくつもあると言うのはさすがですが。
どれを使おうか迷ったのですが、とりあえず今回は、readlineを使うのが一番綺麗に見えたので、それを使わせてもらおうと思います。
本当に勉強になりました。
0797デフォルトの名無しさん
2007/05/26(土) 02:42:48以下の[data.csv]ようなカンマ区切りのデータがあるとします。
横軸がX座標、縦がY座、各格子の数値がZ座標(標高)を示しています。
このデータを、[out.csv]のように変換したいのですが、2次元配列でつまずいてしまい、途方に暮れてしまいました。
どなたかお知恵を授けて下さい。よろしくお願いします。
あと、入力データのうち行頭が"#"で始まる行は無視する、というのはどうすればできるのでしょうか。合わせてご教授いただけると助かります。よろしくお願いします。
[data.csv]
, 1, 2, 3, 4
5, 12.63 , 33.82 , 31.71 , 29.73
4, 34.75 , 32.14 , 29.31 , 26.70
3, 33.55 , 30.27 , 27.17 , 23.43
2, 31.02 , 29.42 , 26.65 , 23.61
1, 28.00 , 27.04 , 25.39 , 22.60
[out.csv]
X,Y,Z
1,1,28.00
1,2,27.04
1,3,25.39
1,4,22.60
2,1,31.02
2,1,27.04
(中略)
5,3,31.71
5,4,29.73
0798デフォルトの名無しさん
2007/05/26(土) 03:41:35宿題乙^^
0799デフォルトの名無しさん
2007/05/26(土) 04:09:08さてコレをどれくらい短くできるだろうか
use strict;
open FILE, "data.csv";
my @data;
my @index;
my @ys;
for my $line (<FILE>) {
chomp $line;
unless (@index) {
@index = split(/\s*,\s*/, $line);
shift @index;
next;
}
my($y, @d) = split(/\s*,\s*/, $line);
push(@ys, $y);
for (my $i=0; $i < @d; $i++) {
$data[ $index[$i] ][ $y ] = $d[$i];
}
}
close FILE;
open FILE, ">out.csv";
for my $x (@index) {
for my $y (@ys) {
print FILE "$x, $y, $data[$x][$y]\n";
}
}
0800デフォルトの名無しさん
2007/05/26(土) 08:04:48use strict;
open FILE, "data.csv";
my(@data, @index, @ys);
while(<FILE>) {
chomp;
my($y, @d) = split /\s*,\s*/;
@index = @d, next unless @index;
push @ys, $y;
$data[ $index[$_] ][$y] = $d[$_] for 0..@d-1;
}
open FILE, ">", "out.csv";
for my $x (sort {$a <=> $b} @index) {
for my $y (sort {$a <=> $b} @ys) {
print FILE "$x, $y, $data[$x][$y]\n";
}
}
close FILE;
0801デフォルトの名無しさん
2007/05/26(土) 08:26:14こんなの例題に出てくるだろが。
open IN, "data.csv" ;
open OUT, ">", "out.csv" ;
print OUT "X,Y,Z\n" ;
(undef,my @index ) = split /,/, do{ $_ = <IN> ; s/\s+//g ; $_ } ;
for ( reverse (<IN>) ){
s/\s+//g ;
next if /^#/ ;
my ( $index, @dat ) = split /,/ ;
for my $i ( 0 .. $#dat ){
print OUT join "," ,$index,$index[$i],$dat[$i] . "\n" ;
}
}
close IN ;
close OUT ;
0802デフォルトの名無しさん
2007/05/26(土) 10:48:45おまいらやさしいな
0803797
2007/05/26(土) 13:30:30皆さん、どうもありがとうございます。
教えていただいたコードを読んで勉強します。
ところで、私のような初心者向けの本にはどんなものがありますか?
現在手元には、「Perlの絵本」といわゆる「らくだ本」の2冊がありますが、前者はまったくの初心者向けで今回の質問の答えは見いだせません。
一方、後者は私には取っつきにくくて、ヒントが書いてあるのかも知れませんが、見つけられませんでした。
なお、Visual BASICとTurbo PASCALはある程度勉強しました。
近くに大きな本屋がないので、現物を手にとって見比べることができません。アドバイスをいただければ幸いです。よろしくお願いします。
0804デフォルトの名無しさん
2007/05/26(土) 14:26:340805デフォルトの名無しさん
2007/05/26(土) 15:31:12という正規表現が
hogehogeにマッチして
/(\b\w+\b)\1/
という正規表現が
hoge hogeにマッチしないのは何故なんでしょうか?
0806デフォルトの名無しさん
2007/05/26(土) 15:36:26* \b は文字を消費しない。
0807デフォルトの名無しさん
2007/05/26(土) 16:15:33時間をかけて、「らくだ本」じっくりと2回読めばいい。
1回目は、解らない部分には「?」印を付けて、深追いしない。
2回目は、「?」印を付けた部分を重点的に読む。
その過程がなければ、らくだ本を辞書のように使うことはできない。
0808デフォルトの名無しさん
2007/05/26(土) 17:09:49本家だと2005年に出てるんだよね
ラクダさんも早く新しいの出して欲しいな
■ このスレッドは過去ログ倉庫に格納されています