トップ «前の日記(2006-11-07 (Tue)) 最新 次の日記(2006-11-09 (Thu))» 編集

uDiary

海野秀之(うんのひでゆき)の外部記憶

Twitter (twilog) / RSS / アンテナ / ぶくま

2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|08|
2010|01|02|03|05|06|07|10|11|
2011|03|08|
2012|02|04|07|08|10|
2013|01|02|03|05|06|08|11|12|
2014|01|02|05|06|07|08|09|12|
2015|01|02|03|04|

2006-11-08 (Wed)

[Scheme] Scheme で 99 bottles (笑)

さて、昨日唐突にはじまった scheme ライフですが、 SICP はぼちぼち読むとして、なんか書いてみましょう。 というわけで 99 bottles (なんでやねん)。

(define (bottle n)
  (string-append (number->string n) " bottle" (if (> n 1) "s" "")))

(define (print-loop i)
  (display (string-join (list
			 (bottle i) "of beer on the wall,"
			 (bottle i) "of beer.\n")))
  (if (> i 1) (begin
		(display (string-join (list
				       "Take one down and pass it around,"
				       (bottle (- i 1)) "of beer on the wall.\n\n")))
		(print-loop (- i 1)))
      (display (string-join (list
			     "Go to the store and buy some more,"
			     (bottle 99) "of beer on the wall.\n")))))

(print-loop 99)

ぜんぜんゴルフしてません。でも、けっこう楽しい。 あ、強調しておこう。scheme けっこう楽しいぞ!

いちおう なんでも再帰しようとしてます。

書いていて思ったこと:

  • string-join に渡すのはリストじゃないといけないのだが、'((bottle i) "of beer on the wall") だと (bottle i) まで未評価のまま渡されてしまう。ので、なんとなく (list ... )にしてみた。動いた。
  • (begin ... ) で囲まなければならない場合と、そうでない場合の違いをいまいちわかっていない。

いまいちわかっていないことリストになっちゃいました。

同一人物だと思ったらしい。

僕の脳内では、比較対象ですらなかった(スコープが違うらしい)ので、 綾瀬はるかとやっくんが似ているなどとは、いわれるまで思いませんでしたが。

わたしの妻は、初めてやっくんを CM でみたときに、 ポカリスウェットの CM の子がこんな格好までさせられて、職業とはいえ大変だなぁと思ったらしい。

本当に同一人物だったら、素敵だったのですが。


2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|08|
2010|01|02|03|05|06|07|10|11|
2011|03|08|
2012|02|04|07|08|10|
2013|01|02|03|05|06|08|11|12|
2014|01|02|05|06|07|08|09|12|
2015|01|02|03|04|
Categories 3imp | Card | Cutter | Dalvik | Euler | Football | GAE/J | Hand | Haskell | Re:View | Ruby | Scheme | TQD | Tiger | TigerBook読 | UikiTeXi | Verilog | Violin | Web | parconc | tDiary | お勉強 | エントロピー | ツン読 | | 将棋 | 政治について | | 模写してみよう | 確率論 | 設定など | 雑文 | 音声