Cyanにおける変数の扱い

http://cadr.g.hatena.ne.jp/g000001/20081025にて、Cyanについて取り上げていただきました。ありがとうございます。

さて、記事において、Cyanのifがif-letのような動きをすることについて書かれていましたが、これはifの機能というより、Cyanの変数の扱い方に由来するものです。

Cyanはletによって変数を初期化する必要がありません。ブロックにローカルな変数を作るには、:=を使います。

x = 1
begin:
  x := 2
  say(x)  #=> 2
say(x)    #=> 1

x := 2は、Perlにおけるmy $x = 2とほぼ同じです。

変数について私の説明が足りなかったことをお詫びします。