燈明ブログ

現状は小池啓仁の応援ブログ

雑記(『Perl謎(その10)サブルーチン』予告)

今日は、歓送迎会があり、今ちょっと前に帰って来ました。
歓送迎会は盛り上がっていましたが、私はメガネを多分飲み屋さんのどこかに無くしてしまってブルーでした。
結局、見つからない・・・。


仕事の方も今日はブルーでした。
ある条件のときは、ハッシュ変数に代入しないので、if (!defined(%hash)) で引っ掛かるはずなのに引っ掛からない・・・。
今、家で同じようなテストプロを作ってテストしたら、間違いなく引っ掛かる。なにが原因なんだろ・・・。


あと、Perlの次の謎は、『サブルーチン』に決定しました。
この間だ、ビンゴさんに教えていたサブルーチンの呼び方は、組み込み関数は小カッコなしで、ユーザ定義関数は『&』無しの小カッコありと教わりました。
しかし、組み込み関数と同名のユーザ定義関数を定義したときは、どうしても『&』付きでないと呼び出せないのです。


これ、わざわざ、組み込み関数と同名のユーザ定義関数をつくるな・・・って言われそうですが・・・。
そうではなく、現在、組み込み関数と同名でないユーザ定義関数を作って『&』無しで呼んでいるとします。
しかし、将来、同名の組み込み関数が出来る可能性もあるわけです。
すると、上位互換性がなくなります。


なので、ユーザ定義関数は『&』付きで呼び出しましょう・・・という結論になりました。
ユーザ定義関数をリファレンスする時は、必ず『&』が必要ですし・・・
したがって、ユーザ定義関数の呼び出しは、必ず『&』付きでということで・・・どうでしょうか?


この辺を含めて、Perlの謎(その10)サブルーチンを練っています。
期待しないでお待ちください!