Code Aquarium

minazoko's blog -*- 水底のブログ -*-

gauche

ifマクロ

Gaucheでifマクロを書いてみた。 マクロ名は if だとアレなので %if とする。 当然ながら if case cond といった分岐用特殊形式の使用は禁止。 else無指定への対応すると煩雑になるので2つに分けています。 (define-macro (%__if test then else) `((assoc-…

(Gauche)バブルソート

今読んでいる数学ガールガロア理論がバブルソートにちょっとだけ触れていました。 考えてみるとバブルソートは何となく概要を知っている程度で、実装した記憶がありません。振り返るとバブルのつもりが結局挿入ソート的な物を書いて終わってることが多いよう…

(Gauche) sort における #"|a|" の(?) 謎挙動

[追記] 本件、早々に突っ込みをいただきました。 @mnzktw #"|a|" は只の定数文字列"|a|"になるので、比較関数が引数に関わらず定数値を返しているためだと思います。多分意図したのは #"~|a|" じゃないでしょうか。— Kilo Kawai (@anohana) 2014, 10月 11#"|…

(Gauche) 2chお題「そろばんAA」

2ちゃんねるプログラム板 プログラミングのお題スレ Part5 より 252 名前: デフォルトの名無しさん [sage] 投稿日: 2014/10/08(水) 21:14:41.09 ID:QOSwbYHc お題: 整数n(0<=n<1000000)をソロバンのAAに変換するプログラムを書け n=9563なら ######## #oo|…

(Gauche)generatorでFizzBuzz

毎度似たような FizzBuzzを書いていますが、gaucheでgeneratorを使ったバージョン。無限リストを3本作ってマージするこの方式は、n f b を受け取った後、n をとるか f b をとるかの判定部分が泥臭くなります。 今回はパターンマッチを使って多少はすっきり…