Perlコーディング初心者質問スレ Part 59at PHPPerlコーディング初心者質問スレ Part 59 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト85:nobodyさん 09/02/21 08:42:04 途中送信・・・ 上記のように、Childクラスでオーバーライドしたメソッドがあるとき、スーパークラスのメソッドを呼びたいのです。 86:nobodyさん 09/02/21 08:43:10 そういうときは mixin するんじゃないの 87:nobodyさん 09/02/21 10:14:01 スカラー変数のリファレンスをプログラム中でIDとして使用したいと思っているのですが、 プログラムの実行中に同じスカラー変数のリファレンスであるにも関わらず値が変わってしまいます。 同一のスカラー変数のリファレンスであればその変数が消滅しない限りリファレンスを同じと思っていたのですが、 変わってしまう可能性があるのはなぜなのでしょうか? 知ってる方がいたら教えてください。 88:nobodyさん 09/02/21 10:57:17 変数をどこかで触ってるんじゃないの。 とりあえずソースコード晒せ。 89:nobodyさん 09/02/21 13:06:29 >>88 すみません、レスしようと思って書き始めて気がつきましたが、 完全に自分の勘違いでリファレンスの値は変わっていませんでした。 リファレンスが不変となると、さらに別の疑問が。。 インサイドアウトオブジェクトを使用するときに、identを使う意味がなくなるように思うのですがどうなんでしょうか? (例) use Class::Std::Utils; { my %value_of; sub new { my($class, $opt) = @_; my $obj = bless \do{my $anon_scalar}, $class; return $obj; } sub set_value { my($self, $value) = @_; $value_of{ident $self} = $value; <===ここの ident を消しても動く。 return; } ・ ・ } この中でidentを削除しても普通に動いてしまいます。 リファレンスが不変なら、なぜわざわざidentで一意の値を取得する必要がわかりません。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch