(プログラムネタ) オブジェクトの自動生成
2009年06月28日23:07
perl はほかの言語と違って、空のオブジェクトにアクセスしてもエラーにならない。 perlでは 空のオブジェクトにアクセスしようとすると、自動的にオブジェクトが生成されてそこに配置されるようになっている。
プログラムの間違いを見つけにくくなる諸刃の剣ではあるけども、急いでプログラムを作らないといけないときには重宝する機能だ。
で、この機能のことをなんていうか忘れてしまって、でもどうしても思い出したかったので、一生懸命グーグルで探してみた。 すごい時間がかかったけども見つけた。
この言葉は Perl Cookbook という本を読んでいるときに知ったことを覚えていたけど、日本語でも英語でもなんていうか忘れてしまった。 そうしたら、今はグーグルでその本の内容を読むことができるようになっていた。 とても便利だと思った。
で、ついにその言葉も見つけた。 AUTOVIVIFICATION というらしい。
http://en.wikipedia.org/wiki/Autovivification
で、この単語、日本語で何と訳されていたっけ...ええと。 思い出せないや。
プログラムの間違いを見つけにくくなる諸刃の剣ではあるけども、急いでプログラムを作らないといけないときには重宝する機能だ。
で、この機能のことをなんていうか忘れてしまって、でもどうしても思い出したかったので、一生懸命グーグルで探してみた。 すごい時間がかかったけども見つけた。
この言葉は Perl Cookbook という本を読んでいるときに知ったことを覚えていたけど、日本語でも英語でもなんていうか忘れてしまった。 そうしたら、今はグーグルでその本の内容を読むことができるようになっていた。 とても便利だと思った。
で、ついにその言葉も見つけた。 AUTOVIVIFICATION というらしい。
http://en.wikipedia.org/wiki/Autovivification
で、この単語、日本語で何と訳されていたっけ...ええと。 思い出せないや。
コメント一覧
マイカ 2009年07月02日 12:48
お、その機能でデバックにハマったことがある。
当時厄介だと思ったが、考えてみればWebに特化した言語、ノンストップオペレーションの見地からするとありがたい機能ですね。。。
その点JAVAは、、、VMの再起動が嫌いです。。。
当時厄介だと思ったが、考えてみればWebに特化した言語、ノンストップオペレーションの見地からするとありがたい機能ですね。。。
その点JAVAは、、、VMの再起動が嫌いです。。。
おかあつ 2009年07月04日 05:11
実は tie っていう命令があって、この動作を変更できるのです。
だから状況に応じて autovivification を有効にしたり無効にしたりできます。
Javaと同じように無いオブジェクトを参照すると例外を発生させたりすることもできます。
Javaは java6 update13 ぐらいから システムクラスをロード済みにした状態で起動できるようになったので、 起動が死ぬほど速くなりました。 でも、もうあまり有名じゃなくなってしまったので、誰も気にしていません。
だから状況に応じて autovivification を有効にしたり無効にしたりできます。
Javaと同じように無いオブジェクトを参照すると例外を発生させたりすることもできます。
Javaは java6 update13 ぐらいから システムクラスをロード済みにした状態で起動できるようになったので、 起動が死ぬほど速くなりました。 でも、もうあまり有名じゃなくなってしまったので、誰も気にしていません。