環境破壊

環境の考察。

Gauche

gosh> (define a (define b 1))
a
gosh> b
1

へぇぇ。

MzScheme

> (define a (define b 1))
stdin::10: define: not allowed in an expression context in: (define b 1)

出来なかった。

ついでに

SBCL

* (defvar a (defvar b 1))
A
* a
1
* b
error

なるほど。

もういっこ

全く関係ない?

irb

irb(main):002:0> a = b = 1
=> 1

コレもありか。