Perlコーディング初心者質問スレ Part 57
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/02/25(月) 19:25:51ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
お勧めサイトは >2 以降
前スレ http://pc11.2ch.net/test/read.cgi/php/1189939783/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0976jark'use
2008/08/05(火) 21:29:26ID:???http://z-z.jp/のbbs.cgiスクリプトをnull(ry
[禁止用語]で抜こうと思います。
そこでパラメータにいろいろあてはめてますがうまく抜けません。
実際に抜いた人はnullを使ってたみたいです。
あまり詳しくは公開できない情報ですのでヒントを教えてください
0977nobodyさん
2008/08/05(火) 22:42:26ID:???板違いです。
ネットワーク板へどうぞ。
http://pc11.2ch.net/hack/
0978nobodyさん
2008/08/06(水) 02:10:44ID:tTNUWkPT@files = sort {scalar split('/', $a) <=> scalar split('/', $b)} @files;
って書いたら
Use of implicit split to @_ is deprecated
て言われました。どう書くのが今時ですか?
0979nobodyさん
2008/08/06(水) 06:35:34ID:???splitをscalarで使うと文句を言われるから、tr/\///などで数える方法に切り替える。
あと、シュウォーツ変換を使うと効率が上がる。
0980nobodyさん
2008/08/06(水) 12:03:05ID:???@_ のなんたるかを理解してるなら
sort { ( @_ = split m{/}, $a ) <=> ( @_ = split m{/}, $b ) } @files ;
でもいいし、普通に捨て配列作ってもいいしTMTOWTDI。
sort { ( my @A = split m{/}, $a ) <=> ( my @B = split m{/}, $b ) } @files ;
sort { @{[ split m{/}, $a ]} <=> @{[ split m{/}, $b ]} } @files ;
sort { sub { split m{/}, $_[0] }->($a) <=> sub { split m{/}, $_[0] }->($b) } @files ;
0981nobodyさん
2008/08/06(水) 12:28:12ID:???0983nobodyさん
2008/08/06(水) 13:43:13ID:???見やすく書いたほうがいいんじゃないかな
0984nobodyさん
2008/08/06(水) 13:55:55ID:+ukCpM4+DISK I/O のコストを甘く見ないほうがいい
0985nobodyさん
2008/08/06(水) 14:03:20ID:???そういうのはTMTOWTDIとはいわない。
0986nobodyさん
2008/08/06(水) 15:45:53ID:???犠牲にするのが多少じゃないんだったら考慮するのはあたりまえじゃ
0987nobodyさん
2008/08/06(水) 17:10:27ID:???でワーニングが出るって事をすっとばしてる奴がいるなあ。
perl -w -le '$a = @_ = split m{/}, q{/hoge/foo} ;'
元の質問に「コストも計算して」ってのがあったら、
シュワルツかシャチ泳ぎの二択になるんだけど
my %tb ;
sort { ( $tb{$a} ||= split m{/}, $a ) <=> ( $tb{$b} ||= split m{/}, $b ) } @files ;
0988nobodyさん
2008/08/06(水) 17:33:19ID:???それにスカラーコンテキストのsplitでなぜ警告が出るか理解してる?
@_を書き換える副作用があるからなんだけど。
シュワルツ使うのもシャチ泳ぎ使うのもいいけど、splitで数えるのは
おすすめできない。
0989nobodyさん
2008/08/06(水) 17:53:17ID:???>それにスカラーコンテキストのsplitでなぜ警告が出るか理解してる?
だからリストコンテキストにして明示的に@_に代入してんじゃんw
>>985の「$a=@aは、元質問では直接使えない」って指摘しただけだよ。
tr///もs///gも書き換えを行なってるんだから、ここで変な人為ミスが入る可能性
が高いよ。俺は使うし好きにしたらいい。
元質問からsplitで説明しただけだから。
0990nobodyさん
2008/08/06(水) 18:06:15ID:???元の変数で書き換えが起こるってのじゃあなあ
1000万文字の内のTのカウント
とかだと実行速度の問題もあってsplitは使わんが、コメント必須
にしてるなあ、実際先人の件の人為ミスで酷いことになった事あるし
0991nobodyさん
2008/08/06(水) 18:12:39ID:???だって初心者だもん
webprogの目的は、狭義には見て貰う人のユーザービリティーを高めるとか
サイトの付加価値を高めるのが目的なんであって、perlで動いていようが、phpだろうが
利用者には関係のないこと。
ましてや、どう書くかなんて見えないわけで、そりゃ自分の手技向上のためにいろいろ
議論する価値はわかるけど、エンドポイント(サイトの付加価値を高めるなど)を
忘れて、単に技巧にだけ走ってしまうのは好きではないな。
やりたいことが、自分の技量の範囲の中でできれば、それで目的は達成できるじゃん。
0992nobodyさん
2008/08/06(水) 18:17:08ID:???コメントしないとわかってもらえないレベルの人がいるんじゃ大変だなぁ。javaとか
使った方がいいんじゃない?
0993nobodyさん
2008/08/06(水) 18:24:39ID:???知ってるってw
それを知らない人がtr/T/t/しちゃったんだよ
貴方の様に知ってる人間ばかりだったら、コメントしないよ
予期しないバグをなるべく排除したいだけなんだ、共同開発してるから
ワーニングだけで済むならそれにこしたことは無いし
0994nobodyさん
2008/08/06(水) 20:01:34ID:???0995nobodyさん
2008/08/06(水) 20:06:03ID:???気が付いてないかはちがうんじゃないかな
0996nobodyさん
2008/08/06(水) 20:30:17ID:???実際に落とし穴に嵌ったときに、気付かなくなるよ。
どうしてもというなら、必要な箇所に no warnings; を入れるべき。
0997nobodyさん
2008/08/06(水) 22:36:24ID:???言葉足らずと言うか真意が違ったすまん
ワーニングなら気付くんだ、俺か誰かが
で、ラインナンバーまで解るから解決は早い
他の人の担当であっても指摘しやすい
そもそも自分のコーディングの時気付くw
上のトラブルの時はスパゲティーの中だったんで、
苦しいのなんのって…
0998nobodyさん
2008/08/06(水) 22:50:23ID:???0999nobodyさん
2008/08/06(水) 22:54:16ID:???立てます。
1000nobodyさん
2008/08/06(水) 22:55:25ID:???.∧__,,∧
(´・ω・`)
(つ終と)
`u―u´
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。