さて、また perl
http://blog.livedoor.jp/jigorou/archives/640584.html
とか色々見ながら、パッケージというか、オブジェクト指向っぽいのを書いてみようかと思った。
で、以下。
第一引数には自動的にパッケージ名が入るのではないのか?とか思った。
で、最後の1行を
http://blog.livedoor.jp/jigorou/archives/640584.html
とか色々見ながら、パッケージというか、オブジェクト指向っぽいのを書いてみようかと思った。
で、以下。
#! /usr/bin/perl -Tw
use strict;
{
package test_pkg;
sub new{
my $this = shift;
my $data = {
"alpha" => "Alpha",
"beta" => "Beta"
};
return bless $data => $this;
}
}
my $obj_test_pkg = test_pkg::new();
これを動かすと、bless の引数の $this が undef だとエラーが出る。use strict;
{
package test_pkg;
sub new{
my $this = shift;
my $data = {
"alpha" => "Alpha",
"beta" => "Beta"
};
return bless $data => $this;
}
}
my $obj_test_pkg = test_pkg::new();
第一引数には自動的にパッケージ名が入るのではないのか?とか思った。
で、最後の1行を
my $obj_test_pkg = test_pkg->new();
と書き換えてみた。動いた。う~ん、`::' と `->' は等価ではないのか。perl は謎が多いなぁ。
※コメント投稿者のブログIDはブログ作成者のみに通知されます