ヽ(´・肉・`)ノログ

How do we fighting without fighting?

Sapporo.beamした

1週ぶり3回目

今日は

の3人も参加者がいて楽しかった.

僕はGettingStartedを翻訳しつつ,GettingStartedを参考にしている人とちょっとしゃべったりした.

<<>> はバイナリを表現するリテラルだよという話

<<255>> #=> <<255>>
<<256>> #=> <<0>>

255より大きい数字はオーバフローする.

if はマクロなんだよという話

Kernel#if/2で実装されている.

if のあとの /2 は引数を 2 つ受け取るという意味.

if 1+1 == 2 do
  "foo"
else
  "bar"
end

if(1+1==2, [{:do, "foo"},{:else, "bar"}])
if(1+1==2, [do: "foo", else: "bar"])
if(1+1==2, do: "foo", else: "bar")
if 1+1==2 do "foo" else "bar" end

と同じ.

普通のalistでdo/endを表現できるように,シンタックスシュガーを考えたみたい.

Rubyが1.9のころ名前付き引数をハッシュでうまいことやっていたのに似ているね.

翻訳

マクロの文脈で late resolution というのを何と訳せばいいかわからなかった.

Hygiene はLISPの人たちが「健全」と訳しているようなので真似した.

翻訳結果

このエントリーをはてなブックマークに追加