タグ

2012年10月2日のブックマーク (2件)

  • PHPの==がキモい件 - hnwの日記

    どうやら僕はround()の人なんだそうです(参考資料)。それはそうとして、もう少し前までは==の人だった気がしますので、その頃の話題を再掲します。 僕は2年ほど前に「==がキモい件」などのタイトルで勉強会で発表していた頃がありました。PHPの==演算子の挙動について、啓蒙が必要だろうと考えていたためです。当時に比べれば最近はPHPの==演算子の不思議な挙動に関する記事を見る気がしますが、まだまだキモさの全容を把握している人は少ないような気もします。 PHPの==演算子の何がキモいのか、一言で言うと両辺の値の型をテキトーに合わせて比較する点です。言い換えると、「型はさておき、等しい値を意味しているようならtrue」という演算子です。 マニュアルの「PHP 型の比較表」の「==による緩やかな比較」を見てもキモさがチラホラ見えるんですが、今回は更に突っ込んだ比較表を作ってみました。 まずは以前

    PHPの==がキモい件 - hnwの日記
    hadashia
    hadashia 2012/10/02
  • Emacs Lisp メモ: バッファローカル変数 | anobota

    Emacs Lisp メモ: バッファローカル変数 メモです。 正確なところはマニュアルなどで確認してください。 以下、変数 x を使って説明します。 デフォルト変数 バッファローカルでない、ふつうの変数。 どこ(どのバッファ)から参照・変更しても同じ値。 一般的なプログラミング言語の「グローバル変数」と似てる。 どのバッファから見ても x:D が参照される。 バッファローカル変数 バッファごとに別。 グローバルな(ふつうの)変数をマスクする。 「バッファ固有のマスク変数」みたいな感じ。 一般的なプログラミング言語の「ローカル変数」は 「スコープに対してローカル(特定のスコープ内だけから参照できる)」だが、 バッファローカル変数は「バッファに対してローカル (特定のバッファ内だけから参照できる)」 Emacs Lisp ではこの場合 x:D も x:L も同じ x として扱う(書く)が、