2016.08.06)↑これはなに?まずはEssenとEssen1を読んでね。ここは続きを書きます。2)とすると、a=1,b=2になる。a)とすると、aとbをテンポラリ変数なしで交換できる。os:"haribote")みたいにもできる。代入式の左辺に#をつけると、ローカル変数の変数宣言ができる。代入式の左辺に##をつけると、ローカル変数が未定義の場合のみ初期値代入を行う。定義済みであれば何もしない。上記以外の文脈で#をつけると、基本的に無視されるが、nulの前に#が付いたときは、nul参照エラーを抑制し、演算結果も#nulとする。未定義変数(=nulとみなされる)を使ってもいちいちエラーにならないようにするために使う。b=#a+3なお、#nulはbに代入されるタイミングでnulになる(変数に#nulは代入できない)。上記以外の文脈で##をつけると、基本的に無視されるが、nulの前に#が付いたときは、nul参照エラーを抑制し、期待される型に応じた0として機能する。int/floatなら0、strなら""、dirなら()主に未定義変数(=nulとみなされる)を使ってもいちいちエラーにならないようにするために使う。代入式の左辺に&をつけると、いわゆる参照型になる。&b=aとすれば、bに対する操作はaに対する操作と等価になる。bに代入するとaも変化する。aに代入すればbも変化する。intとして二項演算子として使えば、ビット演算になる。