くだすれPerl(超初心 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
204:nobodyさん 07/06/30 16:43:21 my $getdata_ref=shift; 205:203 07/06/30 16:46:10 うほっ。 よくわかりませんが、できました。 ちょっとshift勉強しに公園のトイレ前に行きます。 206:nobodyさん 07/06/30 16:53:48 便乗で質問させてください >>203って、サブルーチンの中で引数を取得する時に ダブルクォーテーションで囲った事が原因ですよね? 207:nobodyさん 07/06/30 17:11:28 printで表示される物と、内部的な扱いは違う。 ついでに、ダブルクオートしなかったら要素数が返るだけと思う。 shift@_なり、$_[0]なりで、ちゃんとリファレンスを取得することが大事。 208:nobodyさん 07/06/30 20:16:18 ついでに、ダブルクオートしなかったら、COUNT8に渡された リスト(アレイリファレンス1個のリスト)がスカラーコンテ キストで評価されて結果は1。 209:nobodyさん 07/07/01 06:34:28 my($getdata_ref)=@_; が推奨されています。 当たり前ですが複数なら以下です。 my($abc,$def,$ghi)=@_; またPerlでは@arrayの評価は左辺値で決まるので、ダブルクオートしなければ 必ず要素数が返ると信じるのは誤動作の元です。 $#array+1を使うか、scalar(@array)と明示する方法がオススメです。 さらにfor文をこのように書く人が大勢居ますが、 for(,my $i=0; $i<@array; $i++) 非常に遅いので予め@arrayの要素数をスカラーに移して使いましょう。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4299日前に更新/307 KB
担当:undef