ScalaでL-Systemをやってみた
ずいぶんと簡単なお題になりました。こういうのがちゃちゃっと書けてかっこいいScalaはできる子
What's the L-System
つまりどういうこと?
例1:藻類
L-system 誕生の契機となった、藻類の成長を記述する例。
V : A, B
S : なし
ω: A
P : (A → AB), (B → A)
ωの文字列の中に含まれるPの左側の文字を右側の文字に置換すればいいだけ、プログラミングはじめたばかりの人とかにオススメできそう
実装
- implicit classが大好きなので実装
/
で次世代へ- 記号をメソッド名とできるの、
operat**
とかover****
とか絡まなくて楽
- 記号をメソッド名とできるの、
>>
で指定世代まで飛ぶ- まぁ再帰かな
そんなこんなでこうなった
"A"./ //次の世代へ "A" >> 5 //5世代先へ
かっこいいですねぇ。おわり。絵でもつけて華やかにしようかしら