hixの日記: プラスが少ない 2
日記 by
hix
表トピ関連?
プログラムで文字列の連結に「+」を使わないように気をつけている。副作用で何が起こるか解らんので。これは直接的にはJavaScriptのせいで、間接的には、Perlの演算子「.」が視覚的に解りづらくて、join()を使っているので、文字列の連結は関数を常用する事に違和感が無いせいもある。
ここまでこだわると我ながら宗教の域だと思うのだが、そうやってソースを眺めてみると、演算子「+」は意外と少ない。文字列連結の「+」を同等の関数に置き換えると「+」が全て駆逐されてしまったり。
「++」とか「+=」とかは有るけれど。
プログラムで文字列の連結に「+」を使わないように気をつけている。副作用で何が起こるか解らんので。これは直接的にはJavaScriptのせいで、間接的には、Perlの演算子「.」が視覚的に解りづらくて、join()を使っているので、文字列の連結は関数を常用する事に違和感が無いせいもある。
ここまでこだわると我ながら宗教の域だと思うのだが、そうやってソースを眺めてみると、演算子「+」は意外と少ない。文字列連結の「+」を同等の関数に置き換えると「+」が全て駆逐されてしまったり。
「++」とか「+=」とかは有るけれど。
だがしかし (スコア:1)
+演算子を文字列連結には使わない、という方針でも、
依然として『+演算子が文字列を連結してしまう』という事実はいかんともしがたいわけで。
1のつもりが何故か"1"になってて、1+2=3のつもりが、"1"+2="12"になっちゃったり……
そういうふうに考えると、
『数値演算と文字列演算では異なる演算子を用いる』というPerlの方針は、
それはそれで納得できる気がします。
ま、Perlしばらく使ってなかったりすると、
if ($mode == "hoge"){
hoge処理
}
みたいなアホなコードを書いたりするわけですが。
結局暗黙の動作がいかんのです (スコア:1)
perlの文字列連結は「.」が見づらいのがいけません。
疲れている時は随分と堪えるのです。