Perlの特殊変数は氏ね。絶対に使うな。可読性下がる
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/03/10(金) 20:08:300002デフォルトの名無しさん
2006/03/10(金) 20:10:160003デフォルトの名無しさん
2006/03/10(金) 20:12:210004デフォルトの名無しさん
2006/03/10(金) 20:14:490005デフォルトの名無しさん
2006/03/10(金) 20:44:520006デフォルトの名無しさん
2006/03/10(金) 20:46:540007デフォルトの名無しさん
2006/03/10(金) 21:10:000008デフォルトの名無しさん
2006/03/10(金) 21:18:11長い変数名の左部分は名前空間だと思えば良い。
0009デフォルトの名無しさん
2006/03/10(金) 21:33:07お前は死ね、コンピュータを使うな(w
0010デフォルトの名無しさん
2006/03/10(金) 21:45:19$. # ファイルから読み込み時の現在の行数
$/ # 入力時のレコード区切り文字。通常は改行。
$, # 出力時の項目区切り文字。print @xx; の時に有効
以下略
$" $\ $# $% $= $- $~ $^ $| $$
$? $& $` $' $+ $* $0 $1 $[ $]
$; $! $@ $< $> $( $) $^D $^F
$^I $^L $^P $^T $^W $^X@_
@INC %INC __LINE__ __FILE__ $_
こんな変数名があちこちに散らばっているのがPerl
0011デフォルトの名無しさん
2006/03/10(金) 21:50:440012デフォルトの名無しさん
2006/03/10(金) 21:51:220013デフォルトの名無しさん
2006/03/10(金) 21:53:410014デフォルトの名無しさん
2006/03/10(金) 22:08:400015デフォルトの名無しさん
2006/03/10(金) 22:13:52あんたなんかにわかってもらおうとは思ってないわよ!!!
0016デフォルトの名無しさん
2006/03/10(金) 22:15:19> こんな変数名があちこちに散らばっているのがPerl
大学の研究室のボスは、特殊変数の表をふ〜んと2分ほど眺めて完全に暗記した。
そういうレベルの人たちのための言語なんだなと思って、トイレで血の涙を流した。
0017デフォルトの名無しさん
2006/03/10(金) 22:25:33それでも知らんのが沢山あるお
0018デフォルトの名無しさん
2006/03/10(金) 22:27:51Rubyの場合は清楚なアイドルのカバンからバイブが出てくるようなショックだよね
0019デフォルトの名無しさん
2006/03/10(金) 22:33:010020デフォルトの名無しさん
2006/03/10(金) 22:42:500021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
2006/03/11(土) 00:21:570023デフォルトの名無しさん
2006/03/11(土) 00:47:19そこそこ挙げてあるけど、実際はもっとたくさんあるよね。
$^O とか何とか
0024デフォルトの名無しさん
2006/03/11(土) 16:02:040025デフォルトの名無しさん
2006/03/11(土) 16:14:170026デフォルトの名無しさん
2006/03/11(土) 17:01:56同じものに同じ意味があるんだから覚えりゃそれでおkじゃん
0027デフォルトの名無しさん
2006/03/11(土) 20:19:30一緒に入るはずのマニュアルの存在知らない人だったりしないのかな?
Perlはマニュアルへのアクセスが極めて簡単なので、変な仕様や
暗号みたいな略語も平気でいなせるのだと思うのだが。
0028デフォルトの名無しさん
2006/03/11(土) 20:33:16今でもろくに読めないけど。
0029デフォルトの名無しさん
2006/03/11(土) 20:52:19> From: [932] デフォルトの名無しさん <sage>
> Date: 2006/03/07(火) 00:33:50
>
> >>930
> > Perl って、Practical って言葉の通り、とくに勉強しなくても使えるところが
> > いいとこだと思ってるんだが・・・。勉強する価値はあるけどね
>
> Perlがもともとターゲットとしていた人々は、特に勉強しなくても使えてる。
>
> ただ現在になって、当時は想像することすらできなかったほど知的レベルが
> 低い連中もプログラミング言語に手を出すようになってきているだけ。
最近は英語もできないような連中がPerlの主要な利用層になっている。
自分のマシンにインストールできる日本語マニュアルセットが必要だな。
0030デフォルトの名無しさん
2006/03/11(土) 20:57:19そこの知的レベルって書き方はどうかと思うが。
別に日本語マニュアルは要らないよ。
翻訳サイトとか駆使した方が記憶には残る。
結局は調べる努力もしないのにプログラムなんて、って事ではないだろうか。
↑
「エラーが出て動きません。」と、エラー内容も書かないタイプ。
0031デフォルトの名無しさん
2006/03/11(土) 21:06:13$" $\ $# $% $= $- $~ $^ $| $$
$? $& $` $' $+ $* $0 $1 $[ $]
$; $! $@ $< $> $( $) $^D $^F
$^I $^L $^P $^T $^W $^X@_
コレは知的レベルの問題を超えてるだろw
0032デフォルトの名無しさん
2006/03/11(土) 21:41:410033デフォルトの名無しさん
2006/03/11(土) 21:50:490034デフォルトの名無しさん
2006/03/11(土) 22:02:24まったく可読性に影響の無い、数少ない構成要素の一つだろう。
同じ名前の変数には、常に同じ意味を持つものが入ってるんだから。
「これ何のためにあるの?何が入ってるの?」って状態になるのは普通の変数のほう。
0035デフォルトの名無しさん
2006/03/11(土) 22:04:57妙に納得した。
0036デフォルトの名無しさん
2006/03/11(土) 22:18:34$_ になにが入っているの?
0037デフォルトの名無しさん
2006/03/11(土) 23:49:390038デフォルトの名無しさん
2006/03/12(日) 01:03:33「漢字は可読性を下げる」
と主張する海外の日本語初学者のように見える。
知っていれば読めるけど知らないから読めない、という領域を
「可読性が低い」とは表現しないだろう。
知るべきことを知っていてもなお読みにくいという、文法規則などの領域に使うべきだ。
>>31
でも先頭の$を抜いた記号達は、どれも「手がかり無しの丸覚え」で使ってるでしょ?
そこに$が付いて、もう一巡覚えるべきことが増えるだけのことが
「知的レベルの問題を超えてる」と言うほどのこととは思えないな。
もちろん苦労は苦労だけれども。
0039デフォルトの名無しさん
2006/03/12(日) 01:30:32釣られ、乙
0040デフォルトの名無しさん
2006/03/12(日) 01:33:47泣くな
0041デフォルトの名無しさん
2006/03/12(日) 02:07:040042デフォルトの名無しさん
2006/03/12(日) 02:09:190043デフォルトの名無しさん
2006/03/12(日) 03:06:430044デフォルトの名無しさん
2006/03/12(日) 03:11:35正直PHPが一番読みにくい。
0045デフォルトの名無しさん
2006/03/12(日) 04:34:52書けない。
マジで、ヤバイ。
0046デフォルトの名無しさん
2006/03/12(日) 04:46:500047デフォルトの名無しさん
2006/03/12(日) 05:39:59同意。
0048http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 21:27:14もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
0049デフォルトの名無しさん
2006/03/18(土) 22:01:02PHP のどの辺が読みにくいの?
0050デフォルトの名無しさん
2006/03/18(土) 22:30:46あくまで個人的に、ですが、打ちミスをするところで例を挙げると・・・
関数名にアンダースコアがあること。
「array_map」よりは、大文字を混ぜた「arrayMap」でいい。
命名法則がばらばらなこと。
「str_replace」があるのに、「str_tr」がなくて「strtr」になっている。
省略できそうなのに省略していないところ。
「str_replace」では「str_」と最初に明示してあるから、後に続くのは短く「replace」でなく「rep」でいい。
ほかに「image」→「img」など
0051デフォルトの名無しさん
2006/03/19(日) 05:18:250052デフォルトの名無しさん
2006/03/19(日) 05:38:59> あくまで個人的に、ですが、打ちミスをするところで例を挙げると・・・
打つからだ、バカ。
0053デフォルトの名無しさん
2006/03/19(日) 06:52:220054デフォルトの名無しさん
2006/03/19(日) 07:43:54PHPはスクリプト言語ですよ?
0055デフォルトの名無しさん
2006/03/19(日) 20:40:09引数の意味もわかりやすいし。
0056デフォルトの名無しさん
2006/03/19(日) 20:56:26で、理由は?
0057デフォルトの名無しさん
2006/03/19(日) 20:57:140058デフォルトの名無しさん
2006/03/19(日) 22:05:180059デフォルトの名無しさん
2006/03/19(日) 22:06:36要するに、個人的な嗜好が合わないと言うことですね。
0060デフォルトの名無しさん
2006/03/19(日) 22:38:10Rubyやれば目からウロコ落ちるよ。
0061デフォルトの名無しさん
2006/03/19(日) 23:16:290062デフォルトの名無しさん
2006/03/20(月) 00:12:02アンダーバーが入ったり入らなかったりするのがなんとも…
互換性はあるんだろうけどさ
「アンダーバー入れてみました」
「やっぱり抜きました」
みたいなのがChangeLogにあると
なんだかなぁ、という気分になる。
0063デフォルトの名無しさん
2006/03/20(月) 13:45:07Javaの読みやすさは異常
0064デフォルトの名無しさん
2006/03/20(月) 16:01:480065デフォルトの名無しさん
2006/03/20(月) 16:21:310066デフォルトの名無しさん
2006/03/20(月) 16:31:430067デフォルトの名無しさん
2006/03/20(月) 16:53:41メモメモφ(。。)「PHP戦士の方が戦える」
0068デフォルトの名無しさん
2006/03/21(火) 01:09:44ここに出てくる読みにくいものはPHP: Hypertext Preprocessor (http://www.php.net/ ) の事だからな。
0069デフォルトの名無しさん
2006/03/21(火) 01:17:210070デフォルトの名無しさん
2006/03/21(火) 01:40:560071デフォルトの名無しさん
2006/03/23(木) 22:37:450072デフォルトの名無しさん
2006/04/07(金) 03:14:47Emacs でスクリプト書いてても
ソースの色分けがめちゃくちゃで萎えた。
もう10年近く昔の話なので
今はそんなことないのかも知れないが。
0073デフォルトの名無しさん
2006/04/17(月) 22:56:05ライブラリで決めているって事でいいのかな。
# 規格上のwchar_tは「言語」の範疇って事も抜いて
007473
2006/04/17(月) 22:56:490075デフォルトの名無しさん
2006/04/18(火) 10:22:47Emacsは知らんがVimのデフォルト設定で開くと
目がチカチカする。
0076デフォルトの名無しさん
2006/04/18(火) 20:51:130077デフォルトの名無しさん
2006/06/25(日) 08:49:14perlについての質問箱にあるような書き方だと、半年後、1年後に見て、
素早く理解可能なのだろうかと、疑問に感じました。
特に他人が見たときOKなのかなぁ。いくら何でも短く詰め込みすぎじゃあ・・・
長さ(何行?)によりますけど、読んで理解するより、もう一度作り直してしまいそうな感じを受けます。
確かにうなるようなテクニックも散見しますけど、目的の為の手段なので、
他言語と頻繁にスイッチしながら仕事をする身としては、凝りすぎだと思うのですが。
同じような内容のプロジェクトとかで、過去誰かが書いたコードを読んで変更必要箇所を探しだし、
そこを書き換えて再利用、と云った使い方を考慮したコーディングの方が、
perlらしくてgoodだと自分は思います。
0078デフォルトの名無しさん
2006/06/25(日) 17:01:350079デフォルトの名無しさん
2006/06/25(日) 19:33:380080デフォルトの名無しさん
2006/06/27(火) 08:18:27「テクニックを教えてください」
系の質問には自ずとテクニックに片よると思われ。
俺的には実際のスクリプトならいざしらず掲示板では、20行 30行
と書かれる方がちょっと…。
0081デフォルトの名無しさん
2006/06/29(木) 19:27:16にテクニックのお話にw
まあ、一つの話題に対して複数答えが来るのでその中から他言語に
移植しやすい物をチョイスすればいい話だな。
0082デフォルトの名無しさん
2006/06/29(木) 19:32:37many more is left as an exercise to the reader.
0083デフォルトの名無しさん
2006/06/29(木) 21:27:28分割するのは関係ないだろうw
0084デフォルトの名無しさん
2006/08/04(金) 17:50:33解説無しに特殊変数いきなり使ってるのがあるよ。w
0085デフォルトの名無しさん
2006/12/03(日) 09:57:09そこは記述すべきだと思うの。
おわり
0086デフォルトの名無しさん
2006/12/05(火) 16:49:410087デフォルトの名無しさん
2006/12/06(水) 09:04:21> 「引数を省略した場合は$_が対象になります」とか言うのはどうなの?
Perlで一番好きなところ。
0088デフォルトの名無しさん
2007/02/08(木) 13:50:17$_の説明になってるんじゃないか。
0089デフォルトの名無しさん
2007/02/08(木) 13:53:020090デフォルトの名無しさん
2007/02/09(金) 03:02:44>>89省略されたら誰も使わないよ?
0091デフォルトの名無しさん
2007/02/09(金) 20:28:460092デフォルトの名無しさん
2007/03/16(金) 00:52:231ヶ月かかりました
0093デフォルトの名無しさん
2007/03/16(金) 12:08:150094デフォルトの名無しさん
2007/05/09(水) 19:53:00亀だけど俺も納得した
意味のあるメタ識別子か
>>84
流石にそれはなかったな・・・w
0095デフォルトの名無しさん
2007/06/27(水) 06:47:28perlは5.8で打ち止めってことで。
0096デフォルトの名無しさん
2007/06/27(水) 21:03:34>Perl6 別言語としてリリースしてほしいな。
心配しなくても雰囲気としてはそんな感じになるよ。
Perl6が出るころにはもとのPerlのことなんか誰もおぼえてないって。
まったく、リリースはいったいいつになることやら…。
0097デフォルトの名無しさん
2007/06/27(水) 21:07:21というか、Perlはawkやsedのように今のままで残って欲しいということです。
0098デフォルトの名無しさん
2007/06/28(木) 18:43:22>perlは5.8で打ち止めってことで。
オレのなかでは、5.6で打ち止め。
5.6と5.8って意外とけっこう違うんだよなー。
0099デフォルトの名無しさん
2007/06/28(木) 20:49:11気持ちはわかるけど、もうリリースされたものはしょうがないです。
まあPerl6は嫌なのは一緒でしょう。
0100デフォルトの名無しさん
2007/07/05(木) 17:45:34じゃあ何でいい加減日本語言語が出てこないんだろう。
0101デフォルトの名無しさん
2007/07/05(木) 19:02:120102デフォルトの名無しさん
2007/07/05(木) 21:32:18?
http://nadesi.com/
http://aoi-project.com/
http://kujirahand.com/himawari/
http://www.scripts-lab.co.jp/mind/whatsmind.html
0103デフォルトの名無しさん
2007/07/05(木) 22:12:01PL/Iを筆頭に読みやすくするのを理由に言語制約が厳密になった言語のコードが実際読みやすかったことはあるか?
というか読みやすくしたいという方向性の言語がいくらでもあるなかで、なぜPerlが同じ方向性を目指すのかがわからない。
Pやりかたはいくらでもあるし、徹底的に簡略化できるから僕らはPerlを愛してきたんじゃないの?
0104デフォルトの名無しさん
2007/07/05(木) 22:13:560105デフォルトの名無しさん
2007/07/05(木) 22:19:44言いたいのは、コードを読みやすくするのは言語ではなく、プログラマの役目ということ。
若者がなにしゃべってるかわからないし、日本語を厳密化すべき、というのがナンセンス
であるのと同様。
人に伝えたいと思うなら丁寧に書く、そう思わず簡単に目的を果たしたいならラフに書く。
我々に必要なのは制約か?自由じゃないのか?
連続カキコすまん。
0106デフォルトの名無しさん
2007/07/05(木) 22:32:12int a,b,c,d,......
と適当につけるのには抵抗がある。
が、perlで省略しまくりのソースを見ても抵抗を覚えない。
郷に入らば郷に従えって感じかな。
0107デフォルトの名無しさん
2007/07/05(木) 22:36:24それは$がついてて、変数と明確にわかるからじゃないの?
0108デフォルトの名無しさん
2007/07/09(月) 14:27:21i、j、k、s、tとかを普通の変数として使ったことがあるw
0109デフォルトの名無しさん
2007/07/09(月) 18:46:390110デフォルトの名無しさん
2007/07/11(水) 13:08:390111デフォルトの名無しさん
2007/07/11(水) 19:38:480112デフォルトの名無しさん
2007/07/14(土) 18:16:100113デフォルトの名無しさん
2007/07/14(土) 21:42:31他人のperlのコードを見ない(これ何やってんの?)。
そして、半年前に自分で書いたperlのコードは見ないし読めない。
それがperlクオリティ
0114デフォルトの名無しさん
2007/07/14(土) 22:27:06仕事でPerl使ってる俺にあやまれ!
0115デフォルトの名無しさん
2007/07/14(土) 23:19:21私は完璧主義者なので、
私の書くPerlコードは芸術です。
0116デフォルトの名無しさん
2007/10/14(日) 21:51:38yeeryeryt
fhdff
eyreryrer
ititiy
0117デフォルトの名無しさん
2007/10/15(月) 12:37:550118デフォルトの名無しさん
2007/10/15(月) 13:20:490119デフォルトの名無しさん
2007/10/15(月) 13:25:33奴程どこかが抜けている
0120デフォルトの名無しさん
2007/10/16(火) 18:28:37完璧主義者が使える言語って何だ?
純粋lispとかか?
実用的な言語はどっかしら妙なところがあるよーな。
ま、Perはその度合いがかなりひどいわけだけど。
0121デフォルトの名無しさん
2007/10/16(火) 22:42:20ed や sed 、awk を知っていれば perl がプログラミング言語と言うよりも
テキストエディタのマクロ言語に近い事がわかる。
(例: s/ナントカ/カントカ/ は ed や vi のコマンドそのもの)
言ってみれば、ワードのVBAマクロ、秀丸エディタのマクロと同じレベル。
ed と sh が合体したのが perl だ。
テキストエディタでテキストを編集するならコマンドはなるべく短い方がいい。
もしもだよ、文字列置換でいちいち replase("ナントカ", "カントカ") なんて
コマンドを手入力しなきゃいけないとしたら、たまったもんじゃないだろ?
やっぱ s/ナントカ/カントカ/ の方が断然使いやすい。
もしもだよ、アフィルをコピーしたいだけなのに、ファイルオブジェクトを構築して
copy メソッドを呼び出さなきゃならない、try 〜 catch でエラー処理しなきゃならないとしたら
たまったもんじゃないだろ?
やっぱ cp ナントカファイル カントカファイル の方がいいだろ?
短い名前・記号で素早くコーディングできる。そこに perl の価値があるんだよ。
0122デフォルトの名無しさん
2007/10/16(火) 22:50:10for (i : o) {
System.out.println(i);
}
こんなの、java を知っている人が見ればわかる事だが、
知らない人が見たら何だかさっぱりわからんだろう。
ではバッチファイルの例。
FOR %%I IN (*.txt) DO (
ECHO %%I
)
ん〜〜。java よりはマシかな・・・でもやっぱり
BAT を知ってる人が見ればわかるが、知らない人にはわからない。
こんどは perl の例。
($arg1,$arg2) = @_;
やはり perl を知っている人が見ればわかるが、知らない人がみたら分からない。
結局、「可読性がどうの」 って言ってるヤツってさ、その言語を知らないだけじゃん。
単なる己の勉強不足を、言語仕様に責任転嫁してるだけ。
「魚が釣れないのは釣竿が悪いから。もっと高い釣竿ならきっと釣れるはず」 と言ってるオヤジと同レベルw
0123デフォルトの名無しさん
2007/10/16(火) 23:08:48> ($arg1,$arg2) = @_;
$arg1 = shift(@ARG);
$arg2 = shift(@ARG);
if (!defined($arg1) || !defined($arg2)) {
return $INVALID_ARGS;
}
こうかけばPerl知らなくてもわかると思うぞ。ようするに書き手の問題じゃね。
まぁ、Perlはもともとが「自分が楽するための言語」であって、
他人にソースコードを読ませるためのものではなかったはずだ。
0124デフォルトの名無しさん
2007/10/16(火) 23:09:46Perlの長所についてのくだりだと思う。
0125デフォルトの名無しさん
2007/10/16(火) 23:14:10プッ
たった1行で書けることを、わざわざ何行にもわけて、それで「可読性」を良くしたつもり?
要するにアレだろ?ステップ数を稼ぎたいだけだろ?
0126デフォルトの名無しさん
2007/10/16(火) 23:14:23使うべきでないとしたらPerlを使うべきでなかったということだ
0127デフォルトの名無しさん
2007/10/16(火) 23:18:13>ステップ数を稼ぎたいだけだろ?
の発言だけで、この人と話しても無駄なんだろうなと思う。
0128デフォルトの名無しさん
2007/10/16(火) 23:21:24図星を突かれて、しっぽを巻いて退散ですかw
0129デフォルトの名無しさん
2007/10/16(火) 23:29:50お前業務でプログラム組んだ事無いだろ
0130デフォルトの名無しさん
2007/10/16(火) 23:33:20ほらほら、自分で白状しやがった。
やっぱりステップ数を稼ぎたいだけだったんだな。
0131デフォルトの名無しさん
2007/10/17(水) 00:06:46俺は、129じゃないわけだが。自分の都合のいいように思い込みたがる
のはどうしてなのかね。そうすることで、自分の中の何かを必死に、
守ろうとしているように見えるんだが。こわれる価値もない
あなたのプライド?
まずは、そのくだらない何かを捨てることからはじめたほうがいい。
そうしないといつまで経っても、何も始まらない。
0132デフォルトの名無しさん
2007/10/17(水) 00:24:150133デフォルトの名無しさん
2007/10/17(水) 00:45:32なんでそんなに必死になってるの?
匿名掲示板で 「俺は、俺は」ってバカじゃない?
そんなに 「俺」 を認めてもらいたかったら、コテハンでも使えよ。
匿名で書き込んで 「俺は、129じゃないわけだが。」 なんて、どうでもいいよ。
どうせ誰にもわからない事だし。
おまえなんか誰も相手にしちゃイネーよ。
0134デフォルトの名無しさん
2007/10/17(水) 00:47:350135デフォルトの名無しさん
2007/10/17(水) 00:48:37激しく同意!
131 は自意識過剰だよね。見ていてこっちが気分わるい。
そんなに巻き添え食いたくなけりゃ、首突っこまな無きゃいいのにね。
バカじゃねーの?
0136デフォルトの名無しさん
2007/10/17(水) 00:52:020137デフォルトの名無しさん
2007/10/17(水) 01:07:51shよりは読みやすいし、何よりviで%でブロック移動できるのは素晴らしいと思う
csh, bashはそういう意味で糞だ
0138デフォルトの名無しさん
2007/10/17(水) 02:12:00>匿名掲示板で 「俺は、俺は」ってバカじゃない?
「匿名掲示板」という言葉が気になるのですが、それは
あなたが投稿する内容が、「匿名であるかどうか」によって、
大きく変わるということですか?
続きは、またあした・・・カクカモ・・・。
0139デフォルトの名無しさん
2007/10/17(水) 08:46:32図星乙
0140デフォルトの名無しさん
2007/10/17(水) 13:18:33一昨年の秋、気が付いたら白い部屋のベッドに寝ていて、両側に女の人が座っていた。
今だからわかるがその女の人は自分の嫁さんと母親だった。
頭蓋骨が一部切り取られていて住所や名前が思い出せなかった。
それからほぼ2年経って、以前の職場に戻って昔書いたプログラムのオムツを交換してる。
記憶もかなり戻ってきたはずだけど、変数は一度に10個ぐらいしか覚えられない。
同僚に「ちょっとした腕前でしたよ」と言われたが、どう凄かったのかもわからない。
昔聞いていた音楽はメロディを思い出せるのに、昔書いたPerlはぜんぜん読めない。
0141デフォルトの名無しさん
2007/10/17(水) 17:31:03なにその猟奇カミングアウト。怖いんですけど。
ってか、特殊変数使わないでPerl使うとかどーいう環境なの?
0142デフォルトの名無しさん
2007/10/17(水) 20:27:19ライトオンリー言語だから、使っていいんだって。
0143デフォルトの名無しさん
2007/10/18(木) 00:11:49あんな構文あったっけ?
0144デフォルトの名無しさん
2007/10/18(木) 00:56:07無い。拡張for文のつもりで書いたのだろうけど、それなら例えば、
for (Object i : o) {
のようにiの型をfor文の中で宣言しないといけない。
for文より前での宣言はできない。
ついでに言えば拡張for文とは、上の例なら、
配列やコレクションであるoの個々の要素を取り出して
変数iに代入して繰り返し処理をするforeach的な文。
0145デフォルトの名無しさん
2007/10/23(火) 17:42:41特殊変数という名前で括られているのか。知らんかった。
言語関係無く他人のソースのあら探しをする仕事をしてるんだけど、
読み辛いのはやっぱり Perl と Java だなあ。どちらも現実主義的な
人たちに根強い人気があるよね。
0146デフォルトの名無しさん
2007/10/23(火) 21:46:58そんなヤツが perl のコードを読もうと試みる。
$_ って何だ?
ググっても出ない。出るのは顔文字。
これじゃ何のことかさっぱりワカラン!
こんどはCのコードを読もうと試みる。
argv って何だ?
ググると出た。mainの引数だって。そうか。そういう事か。
そしてソイツはこう思う。「やっぱ perl はクソ!」
0147デフォルトの名無しさん
2007/10/23(火) 22:29:140148デフォルトの名無しさん
2007/10/23(火) 22:40:490149デフォルトの名無しさん
2007/10/23(火) 22:54:48おぉ、俺のことが書いてある。ドキュメントもイマイチなんだよねえ。
ぱいそんが流行る訳だ。
0150デフォルトの名無しさん
2007/10/23(火) 23:25:410151デフォルトの名無しさん
2007/10/24(水) 12:23:26$_ が省略されてると何が起きてるかわかりづらくなる
0152デフォルトの名無しさん
2007/10/24(水) 23:11:15意味不明になる。
while ( <> ){ print if 1 .. 10 ; }
一応省略しないで書くと
while( <> ){ print $_ if $. == 1 .. $. == 10 : }
0153デフォルトの名無しさん
2007/10/25(木) 00:07:200154デフォルトの名無しさん
2007/10/25(木) 04:55:280155デフォルトの名無しさん
2007/10/25(木) 06:52:47下の奴は強制的にエラーさせてるけど。
perl -w -le 'print scalar (1..99)'
Use of uninitialized value in range (or flip) at -e line 1.
「範囲演算子がスカラーコンテキストで評価される時に
実数が記載されていると暗黙の内に$.と比較される」
範囲演算子をふつーに使ったつもりでも、知らなきゃハマるエラー。
0156デフォルトの名無しさん
2007/10/25(木) 12:15:15while( <> )の部分がまだ、省略されたままだぞw
0157デフォルトの名無しさん
2007/10/27(土) 11:11:11while (<>) {
print if 1..10;
}
これを省略なしで書き直す
unshift(@ARGV, "-") if @ARGV == 0;
while ($ARGV = shift(@ARGV)) {
unless (open($fh, $ARGV)) {
warn "Can't open $ARGV: $!\n";
next;
}
$NR = 0;
while (defined($line = readline($fh))) {
$NR += 1;
if ($NR == 1) { $flag = true; }
if ($NR == 10) { $flag = false; }
if ($flag) { print $line; }
}
}
0158デフォルトの名無しさん
2007/10/27(土) 11:13:22s/false/0/g;
でおねがいします
0159デフォルトの名無しさん
2007/10/27(土) 15:08:18my $NR = 0;
unshift(@ARGV, "-") unless @ARGV;
while (my $ARGV = shift(@ARGV)) {
unless (open(FH, $ARGV)) {
warn "Can't open $ARGV: $!\n";
next;
}
my $flag = 0;
while (defined(my $line = readline(*FH))) {
$NR += 1;
if ($NR == 1) { $flag = 1; }
if ($NR == 10) { $flag = 0; }
if ($flag) { print $line; }
}
}
0160デフォルトの名無しさん
2007/11/12(月) 15:57:58ワロタ
絶対わかんねーw
・@ARGの@って何?
・shiftって何?
・! って何
・$arg1の$って何?
固有の問題がありすぎ
0161デフォルトの名無しさん
2007/11/12(月) 16:02:50Javaが読みにくいってのは不思議に感じるが、
やっぱり、言語仕様により記述性が低いのと、使う人によりけりってところが大きいためだろうか?
Javaとか、C#って、かなり読みやすい言語だと思うが
まあ、C言語らに比較してってところだが・・・
0162デフォルトの名無しさん
2007/11/12(月) 16:25:46public void main(String[] args) {
System.out.println("ハロー\nうんこ!");
}
}
ワロタ
絶対わかんねーw
・class って何?
・{ って何?
・String[] の[]って何
・publicって何?
・\nって何?
固有の問題がありすぎ
0163デフォルトの名無しさん
2007/11/12(月) 16:27:10知らないんなら入門書を読んで勉強しろよ!
おのれの無知を自慢するんじゃ無ぇ!
0164デフォルトの名無しさん
2007/11/12(月) 16:37:09160のくだらなさをわかりやすく翻訳してあげてるだけでは?
しかも、!が「Perl固有の問題」なんだそうだよw
0165デフォルトの名無しさん
2007/11/12(月) 17:28:15String (Java 2 プラットフォーム SE v1.4.0)
文字列(String)
・・・
みたいなのがたくさん引っかかってくれる。
それ読めば理解できるよね。
じゃ、google で[ $ ] を検索してみてごらん?
何も表示されないだろ?
(オバカさんのために言っとくけど、string と $ が同じ意味って事じゃ無いよ。ただの例だよ。)
だから特殊変数って嫌われるのだと思う。情報を得にくいだね。
でもさ、入門書を読めば誰にでもわかる事ジャン。
読まない、読んでも理解できない/覚えられない。
そんなヤツが特殊変数をバカにしてるだけ。
おのれの知能の低さをアピールしてどうすんだ?
0166デフォルトの名無しさん
2007/11/12(月) 17:31:230167デフォルトの名無しさん
2007/11/12(月) 18:49:320168デフォルトの名無しさん
2007/11/12(月) 18:50:290169デフォルトの名無しさん
2007/11/12(月) 18:54:41「ドル」 または 「ダラー」 と読む。
なんだ、これくらいも読めんのか。
0170デフォルトの名無しさん
2007/11/12(月) 19:02:060171デフォルトの名無しさん
2007/11/12(月) 19:16:56対象スレ: Perlの特殊変数は氏ね。絶対に使うな。可読性下がる
キーワード: use English
抽出レス数:2
0172デフォルトの名無しさん
2007/11/12(月) 19:28:07ヘボグラマが使っていいものではない
0173デフォルトの名無しさん
2007/11/12(月) 19:32:03COBOLかよ。
0174デフォルトの名無しさん
2007/11/12(月) 19:39:43機械語でプログラミング
0175デフォルトの名無しさん
2007/11/12(月) 19:49:330176デフォルトの名無しさん
2007/11/12(月) 22:49:57・array → 「アレイ」と読める。
・@ → 読めない。
ヴァカまるだしじゃん。@は「アットマーク」って読むんだよ〜〜ん!
ハッキリ言って Perl 以前の問題。それくらい読めるようになっておこうね。
0177デフォルトの名無しさん
2007/11/12(月) 23:12:16・@ → 「アットマーク」と読める→ハァ?
0178デフォルトの名無しさん
2007/11/12(月) 23:16:58まぁ、実際そういうレベルで「読めない」って言ってる馬鹿が殆どだろうね。
0179デフォルトの名無しさん
2007/11/12(月) 23:40:15特殊変数を和製英語化して読み易くする。
0180デフォルトの名無しさん
2007/11/13(火) 00:17:30いや、読めてないんじゃなくて読めてるんですよ?
0181デフォルトの名無しさん
2007/11/13(火) 00:28:50@はarrayの「ア」。
超覚えやすいので、まったく問題ない。
0182デフォルトの名無しさん
2007/11/13(火) 00:33:410183デフォルトの名無しさん
2007/11/13(火) 09:33:35読めてるかどうかではなく、そういうレベルで「読めない」と言ってる馬鹿が殆どだろうという話。
0184デフォルトの名無しさん
2007/11/13(火) 19:36:12あぁ、単に馬鹿って言いたいだけか。
0185デフォルトの名無しさん
2007/11/13(火) 20:31:30残念ながらそれは性格ではなく頭の悪いレスです。
0186デフォルトの名無しさん
2007/11/13(火) 20:36:55そのレスは 183 の為に取っておいてあげてくれ
0187デフォルトの名無しさん
2007/11/13(火) 20:46:39うんこみたいな切り返しに走らなくていいです。
0188デフォルトの名無しさん
2007/11/13(火) 21:10:03結局、単にうんこって言いたいだけ。
0189デフォルトの名無しさん
2007/11/13(火) 23:55:58$fuga の $ は scalar の s
ヘタなハンガリアンより分かりやすい。
0190デフォルトの名無しさん
2007/11/14(水) 00:00:370191デフォルトの名無しさん
2007/11/14(水) 00:17:200192デフォルトの名無しさん
2007/11/14(水) 00:43:57左上の○を除けばhashのhに見えん事もない、、、から採用したんじゃねw
0193デフォルトの名無しさん
2007/11/14(水) 02:46:51なじみのない俺涙目
0194デフォルトの名無しさん
2007/11/14(水) 04:18:11工業高卒のオレでさえ知ってるんだからたぶん間違いない。
スカラーは馴染みがない・・・なんて言ってたらキリが無いぜ。
クラスは馴染みが無い、ファイナルは馴染みが無い、ガベージコレクションは馴染みが無い・・・
もう、100個くらい出てくるぜ。
結局さ、わからないことがあっても調べない、勉強しない、本読まない。
読んでも覚えられない、すぐ忘れる。
そんなヤツのたわごとだね。
0195デフォルトの名無しさん
2007/11/14(水) 09:24:520196デフォルトの名無しさん
2007/11/14(水) 12:48:29「パターンをする」なんて日本語は無いよ。
0197デフォルトの名無しさん
2007/11/14(水) 13:19:28パーセントパーセントパーセンパーセハーシュハッシュ
ということでハッシュ。
0198デフォルトの名無しさん
2007/11/14(水) 13:59:20真相は知らないけど、俺は自分なりに
・残った他の記号には、他の言語による「意味」がもっと色濃く染みついていて、
%が一番「頭の中で起こる意味の上書き」が少なくて済む記号だった
というような事情に
・2つの要素が対になって収まっているかのようなビジュアルイメージ
なんてのが加わって決まったのかなぁ、と自分なりに推測してた。
0199デフォルトの名無しさん
2007/11/14(水) 19:02:380200デフォルトの名無しさん
2007/11/14(水) 19:46:180201デフォルトの名無しさん
2007/11/15(木) 21:43:13どこかで「スラッシュの左上の○がキーで、右下の○が値、という二つの値の組になっている」とかいうのを見たような気がする
0202デフォルトの名無しさん
2007/12/08(土) 16:28:57yttrytry
uiuyiuyi
teett
jgfjfgjf
iyiyti
0203デフォルトの名無しさん
2007/12/24(月) 00:02:45俺がわかんねー(というか、慣れない)のは、
arrayなのに、$つけたりするじゃん?arrayなら、最後まで、@で通せよって思うんだが、
あげくのはて、%つけたり
0204デフォルトの名無しさん
2007/12/24(月) 00:06:400205デフォルトの名無しさん
2007/12/24(月) 00:12:40壷ったw
0206デフォルトの名無しさん
2008/01/09(水) 12:06:39> arrayなのに、$つけたりするじゃん?arrayなら、最後まで、@で通せよって思うんだが、
それで、正しくは$使うべきなのに@のままでも大抵上手くいってるんだよな。
0207デフォルトの名無しさん
2008/01/09(水) 13:46:49『マジカル頭脳パワー』のスペシャル版で所ジョージが一人で「本命チーム」やってたのを
思い出すんだ。
0208デフォルトの名無しさん
2008/01/11(金) 06:45:15「本命チーム」ワロタ
所ジョージの正解率は異常
0209デフォルトの名無しさん
2008/01/11(金) 18:07:03Perl6使えw
0210デフォルトの名無しさん
2008/01/12(土) 23:04:12Ruby使いのおれがいうんだから間違いない
0211デフォルトの名無しさん
2008/01/15(火) 00:03:55hash_key = value % 適当な値
だからじゃね?
% は剰余演算子。
0212デフォルトの名無しさん
2008/01/15(火) 00:10:36まさかベクターじゃないからとかじゃないよね?
0213デフォルトの名無しさん
2008/01/15(火) 00:14:280214デフォルトの名無しさん
2008/01/15(火) 06:06:59大きさと方向であらわされる値。
$a[1] = 10;
のような場合、[1] という位置情報と 10 という絶対値を保持している。
まさにベクターそのもの。
ただし、perl では「ベクター変数」という言い方はしないで、フツーに「配列」と言う。
スカラー
大きさ(絶対値)だけ。方向は無い。
$n = 10;
のような場合、10という絶対値のみを保持している。
まさにスカラーそのもの。
ちなみに java では
Vector ----- 配列
Hashtable ----- 連想記憶(perl で言う ハッシュに相当)
がある。
(ただし、java では「スカラー変数」という言い方はしない。)
0215デフォルトの名無しさん
2008/01/15(火) 07:45:53それはさすがに無理がある
0216デフォルトの名無しさん
2008/01/15(火) 08:04:010217デフォルトの名無しさん
2008/01/15(火) 11:26:43位置情報はひとつの数値(またはスカラー)で表せるのか?
0218デフォルトの名無しさん
2008/01/15(火) 11:30:540219デフォルトの名無しさん
2008/01/15(火) 12:17:20なんで一次元に限定されるんだ?
0220デフォルトの名無しさん
2008/01/15(火) 19:15:39実際にあらわしているだろ。[1] というのが位置だ。
10 という大きさが [1] という位置に格納されているわけだよ。
物理学のベクトルは、「向き」と「大きさ」だろ。
向きは30度とか45度とか、1つの数値であらわせる。
キミは 30度が理解できて [1] が理解出来ないのか?
0221デフォルトの名無しさん
2008/01/15(火) 19:23:47数学のスカラーとは、「雰囲気」程度の類似しかないと思う。
hashtableをハッシュと読んじゃうのだって、はっきりいって無理あるし、
ほとんどが気分的な命名でしかないと思う。
0222デフォルトの名無しさん
2008/01/19(土) 15:36:430223デフォルトの名無しさん
2008/01/19(土) 15:51:460224デフォルトの名無しさん
2008/01/19(土) 17:59:100225デフォルトの名無しさん
2008/01/24(木) 01:49:46http://cfs.maxn.jp/neta/src/braincrash.pl
こんな読みやすいコードだってあるんだぞ
0226デフォルトの名無しさん
2008/01/24(木) 02:02:54どういういみでしょうか。今日パソコンばっかでよくわからないのでよかったらおしえてくださいおねがいします。
0227デフォルトの名無しさん
2008/01/24(木) 02:22:28スタイリッシュな書き方されてるじゃん
インデントもまともだし、strictだし
変態だけど
0228デフォルトの名無しさん
2008/01/25(金) 12:22:200229デフォルトの名無しさん
2008/01/25(金) 17:53:41まだ @ や $ や % の読み方がわからないヤツがおるw
0230デフォルトの名無しさん
2008/01/25(金) 20:39:480231デフォルトの名無しさん
2008/01/25(金) 23:50:33一つ覚えで文系を馬鹿にすれば、
何かが得られると思ってるのか?
誰かを見下しているつもりでも、
自分を卑下してるだけなんだぜ
0232デフォルトの名無しさん
2008/01/26(土) 01:51:29Perl関係のスレに、専門教育受けた奴は来ないって。
0233デフォルトの名無しさん
2008/01/26(土) 13:14:580234デフォルトの名無しさん
2008/01/26(土) 14:37:510235デフォルトの名無しさん
2008/01/26(土) 19:40:360236デフォルトの名無しさん
2008/01/28(月) 22:50:350237デフォルトの名無しさん
2008/02/05(火) 15:26:370238デフォルトの名無しさん
2008/04/21(月) 07:49:19ってことなんだろうけど全特殊変数が長い解説で出てくるんだよな。気軽に
perldoc $_
とかやっても出ない。どうにかできんかな
0239マイク ◆yrBrqfF1Ew
2008/05/11(日) 14:50:370240デフォルトの名無しさん
2008/05/11(日) 22:48:060241デフォルトの名無しさん
2008/05/15(木) 18:22:42シングルクオートでかこむ部分を
`Matched' he said.
って書くのに由来してるのね。
0242デフォルトの名無しさん
2008/06/22(日) 02:55:26基本的によく使う特殊変数は、本来使われている
記号の意味と連携とれているからそんなに問題にならんよ。
にしても、試しに特殊変数でググったら、Perl関係が頭に
くるのは笑ったわ。
苦労している人は苦労しているのね。。
0243デフォルトの名無しさん
2008/06/29(日) 16:30:440244デフォルトの名無しさん
2008/06/29(日) 19:23:15よく使うヤツは自然に覚える。
使わないヤツを覚える必要は無い。
0245デフォルトの名無しさん
2008/06/29(日) 19:46:430246デフォルトの名無しさん
2008/06/29(日) 20:40:45困るが、そもそも他人のコードは異次元w
コーディング規約がある仲間内はそうでもないけど、、、
formline ごりごり使われて、print $^A された時には(知らなかったのも手伝って)
ハマりまくったなあ。
0247デフォルトの名無しさん
2008/06/29(日) 20:49:460248デフォルトの名無しさん
2008/08/27(水) 03:59:470249デフォルトの名無しさん
2009/04/09(木) 20:48:380250デフォルトの名無しさん
2009/04/15(水) 01:34:33でも最もすぐれた言語。
0251デフォルトの名無しさん
2009/04/15(水) 16:34:30コマンドラインでも
C:> COPY FOGE.TXT UNKO.TXT
じゃなくて
C:> COPY(FOGE.TXT, UNKO.TXT);
ってやってるんでしょうか。
あ、そっか。今どきコマンドラインなんて使わないんでしょうね。
マウスでクリックですよね。
0252デフォルトの名無しさん
2009/04/15(水) 17:40:450253デフォルトの名無しさん
2009/04/19(日) 21:39:20(COPY FOGE.TXT UNKO.TXT)
こういう病状のことじゃないのか
0254デフォルトの名無しさん
2009/04/20(月) 21:34:290255デフォルトの名無しさん
2009/09/02(水) 01:49:560256デフォルトの名無しさん
2009/09/18(金) 00:22:58> まだ @ や $ や % の読み方がわからないヤツがおるw
わかりませんよみかたおしえてくださ
0257デフォルトの名無しさん
2009/09/18(金) 00:25:00> perldoc -v $_
0258デフォルトの名無しさん
2009/09/18(金) 00:50:290259デフォルトの名無しさん
2009/09/18(金) 01:10:00それなら、よくいろんな人が使う、とってつけた適当な名前の代表格
0260デフォルトの名無しさん
2009/09/18(金) 07:05:30ホーグですか?
ホゲ?
後者だったら、なんだか頭悪そうでいやだなあ。
0261デフォルトの名無しさん
2009/09/18(金) 08:06:18hoge hage fuga unko chinko manko ...
と続く
0262デフォルトの名無しさん
2009/09/18(金) 08:30:230263デフォルトの名無しさん
2009/09/29(火) 20:15:25なっ?
0264デフォルトの名無しさん
2009/09/30(水) 06:19:440265デフォルトの名無しさん
2009/09/30(水) 08:42:50> hoge hage fuga unko chinko manko ...
ホージー ヘージー フューゲィ アンコゥ チャインゥコ メインコウ
0266デフォルトの名無しさん
2010/08/22(日) 04:01:49調べてみたが「アットマーク」と読むのは日本だけのようだ。
英語ではアットサイン。
まぁ調べりゃ分かることだからこれ以上は書かんわ。
0267デフォルトの名無しさん
2010/10/28(木) 21:58:46跡 = マーク
保身のため、これ以上は書かない。
■ このスレッドは過去ログ倉庫に格納されています