こんにちは。
----- Original Message -----
>Date: Thu, 23 Mar 2006 15:56:14 +0900
>From: davi <davi-1984@...>
>Subject: [TSfree:1544] Re: 代入
>To: TSfree@...
>
>> 1+2+3という数式のちょうど逆だと思えばよいかと思います。
>> # 加算演算子は、左結合の2項演算子。1+2+3を、(1+2)+3と表現するなら、
>> # a=b=3は、a=(b=3)となります。
>
>演算子によって評価順序が変わるんだ、ってのは初めて
>知りました。ありがとうございます。
>これは意識するようにしたいものです。
「代入もただの演算子の1つ」という辺りわかれば、あとはつなげてゆく
だけで、いくらでも複雑な数式を記述することが可能に・・・
蛇足:あとは、
a=2;
b=(a+=1)**(a-=1);
とかのような場合、演算のために必要となる順序が、そのまま項目の
実行順序にならない言語もあるため注意が必要です。
# 演算のためには2項演算子の左右の結果がそろうことが必要なので
# あって、結合の方向の強い方が先にもとまる必要は無いためです。
>|> $dest1 =~ s/%([a-fA-F0-9]{2})/pack('C', hex($1))/eg;
>
>と書いてあると「初期化されちゃうじゃん」って思ったりする
>ことは勉強し始めの頃、ありませんでした?
>私はいつも、そういう感じなんですが。
まず、「これは何を代入しているのだろう」というのを最初に感じて、
次に、「結果はどこに消え去ってしまうのだろう」と思いました・・・
# 正規表現自体は、edで覚えました。edしかない環境で開発したことが
# あったんです。
もともと、コンパイラ言語で、「可読性のために変数を使い回さない」
とゆーことをしないと、自分で書いている途中のソースでも迷子になって
しまうので、暗黙的な変数で使いまわすの普通というのは夢にも思い
ませんでした・・・
# いまだによく迷子になってます・・・
>教習所では学科だけ先に終わったクチです。
教習所では挫折したクチです・・・
--------------------------------
写真入身分証明書の無い うぇいく