タグ

ブックマーク / blog.endeworks.jp (1)

  • Perlでは何が定数なのか - D-6 [相変わらず根無し]

    生のハッシュリファレンスを return したら遅い コメントを残せないブログなんて!どうなの!と、それは置いておいて、Perlでconstant foldingされるのは文字列・数値リテラルか、定数扱いできる関数だけです。 定数扱いできる関数というのは実は決まっていて、以下の条件がそろわないとconstant folding されない: その関数は 引数を取らない、とprototypeで明示的に宣言してあるその関数は文字列・数値リテラルを返し、それ以外の処理を行わないこちらのコードを実行してみるとわかりやすいuse strict; use O ('Deparse'); sub not_const { 1 } sub const_num() { 1 } sub const_string() { "foo" } sub const_list() { [ qw(1 2 3) ] } sub

    yogasa
    yogasa 2013/01/13
  • 1