タグ

グロブに関するsugaretのブックマーク (2)

  • 型グロブ - はこべにっき ♨

    型グロブはある名前を持つ変数をすべて持っているような特殊な型だ。*symという風に識別子に*をつけると得ることができる。*はワイルドカードの意味として使われてて、そこにはどんな記号でもはいるってことか。 型グロブをハッシュのように扱うと、各型のリファレンスを得ることができる。 *sym{SCALAR} # \$sym *sym{ARRAY} # \@sym *sym{HASH} # \%sym *sym{CODE} # \&sym *sym{GLOB} # \*sym *sym{IO} # ????? 型グロブから型グロブへの代入は、識別子のエイリアスを作ることになる。 $foo = 'hakobe'; @foo = (0,1,2); *bar = *foo; print "$bar\n"; print "@bar\n"; のようにすると、fooという名前の変数とbarという名前の変数はま

    型グロブ - はこべにっき ♨
  • シンボルテーブルとグロブ(2) - Perl日誌

    おさらい シンボルテーブルは普通のPerlハッシュで実装されています。 Perlのhogeという名前の変数には$hoge, @hoge, %hoge, &hoge, ファイルハンドルのhoge, ディレクトリハンドルのhogeなどがあります。 これらのhogeは物理的にはバラバラの場所に離れています。((メモリのブロックが違うとか、そんな感じの意味です。 )) ただし、それぞれへのリファレンスは同じハッシュ内に含まれています。 そのハッシュはグロブと呼ばれており、それへのリファレンスはアスタリスクからはじまっています。 このようにPerlでは変数ルックアップに2つの段階を経て処理しています。 最初の段階で、適切なグログをシンボルテーブルから発見します。名前ルックアップ。 次の段階ではグロブから求めるべきリファレンスを見つけます。リファレンスルックアップ。 ※話がずいぶんとショートカットして

    シンボルテーブルとグロブ(2) - Perl日誌
  • 1