68user's page 掲示板

Prev< No. 1928> Next  [最新発言に戻る] [過去ログ一覧]
No. 1928 # 68user 2001/05/04 (金) 00:11:00
>>1926 ふくし
> *dick = \$richard;
> だと $richard だけがエイリアシングされてしまう、
> というのがどうもよくわかりません。
dick という名前には、スカラー、配列、ハッシュ、関数
などがあり、それぞれ $dick、@dick、%dick、&dick として
アクセス可能です。名前と実データのアドレスの間は、
シンボルテーブルにより対応づけられています。で、
    *dick = *richard;
は、それらシンボルテーブルを一括して書き換えるもので、一方
    *dick = \$richard;
は $richard 用シンボルテーブルだけを書き換えるもの、
と解釈してはどうでしょうか。

実際にそういう作りになっているかどうかはわかりません。

ところで、
    $fuga='fuga';
    local(*hoge) = *fuga;
    print "\$hoge=$hoge\n";
は OK でも、
    @fuga=('a', 'b', 'c');
    local(*hoge) = *fuga;
    print "\@hoge=@hoge\n";
とすると
    In string, @hoge now must be written as \@hoge
なんですねぇ。美しくないなぁ。

>>1927 ミング
うーむ、awk 以前に、ちょっと問題の意味が理解できません。
# でも、for (j=0;(ij,4);j=j+1) という書き方もわかんないなぁ。

ファイルに書き込んで close し、それを読み出す、ということを
されたいのでしょうが、もっとよいアルゴリズムがあるんじゃないか
とは思います。他の方、わかりますか?

Prev< No. 1928> Next  [最新発言に戻る] [過去ログ一覧]