2010-07-01から1ヶ月間の記事一覧
30分プログラム、その789。n日後の日付を調べるプログラムを作ってみました。 EMチャージの30日定額の終了日が知りたかったので作ってみました。もっとも、作ったあとで管理画面で見れることを知りましたけれども。 使い方 $ gosh 789-after.scm 0 2010-08-0…
感想 味は濃い目 甘めの味がする 値段/買った場所 酒泉洞堀一shusendo 日本酒・ナチュラルワイン・国産ワイン・焼酎 造り手の想いを伝える珠玉の酒セレクトショップ名古屋市西区 醸し人九平次、而今、新政、鍋島、射美、風の森 、獺祭、二兎、、たかちよ、大…
グリーンバンドが届きました! ほいで、賛同者の方々に住所を聞くDMをがんがん投げたくなったので、自動送信プログラムを書いてみました。もちろんTDDです。 テスト #! /opt/local/bin/ruby -w # -*- mode:ruby; coding:utf-8 -*- require 'dmsender' $sleep …
30分プログラム、その788。ハミング数の列挙をやってみました。 Regular number - Wikipediaによると2^n・3^m・5^rで表せる整数のことをハミング数と呼ぶらしいです。 なんか遅延リストとfilterを組合せたクールな方法でやりたかったんですけど、うまくいき…
30分プログラム、その787。anarchy golf - Little Endian Calculatorにインスパイアされて、エンディアンの変換をやってみました。 8ビットごとに区切って順番をひっくりかえしているだけです。 使い方 >>> "%x" % flip_endian(0x3310) '1033't2 ソースコー…
30分プログラム、その786。http://aligach.net/diary/20100617.html#p01:tilteにインスパイアされました。 tailでできるらしいけど、あえてPerlで。ついでにコマンドラインオプションのパースもやってみた。 使い方 $ jot 10| perl rest.pl -n 0 1 2 3 4 5 6…
30分プログラム、その785。anarchy golf - permutaterにインスパイアされました。 文字列に対してpermutationを適用します。 使い方 1> permutater:permutater("hoge"). ["hoge","hoeg","hgoe","hgeo","heog","hego","ohge","oheg", "oghe","ogeh","oehg","o…
30分プログラム、その784。魔方陣を作ってみた。 最初はリストモナドでベタ書きしようかと思ったけど magicSquare = do a <- [1..9] b <- delete a [1..9] c <- delete b $ delete a [1..9] .... guard ... return ... みたいなひどいことになりそうだったの…
発端 TDDブートキャンプで「テストを書くのはつらい。Bob Martinもacts_as_professionalと刻んだグリーンバンドを身につけて、自分を戒めてるんだ」というエピソードが紹介される ボクも欲しい! http://mixbuzz.com/wristbands.htmlで20個から作ってもらえる…
明日は、TDD Bootcamp名古屋です。 というわけで、自分のoUnit + omakeでTDDな環境を晒してみます。もっとクールな方法があったら教えてください>ちなみに、構築したサンプルはGitHub - mzp/ounit-example-1: OUnit exampleに置いてあります。 ディレクトリ…
30分プログラム、その782。anarchy golf - Bracket Matchingにインスパイアされました。 問題の詳細はリンク先を参照してください。要するに括弧の対応がとれているかどうかのチェックです。正規表現じゃ無理なことで有名なアレです。 簡易パーサコンビネー…
30分プログラム、その781。n乗根を求めてみた。 n乗根なんてどうやって求めるんだろう、と思って調べてみたけど、ニュートン法で解いてた。あああ、なるほど。 使い方 scala> NthRoot.nthRoot(4,2) res7: Double = 2.0000000929222947 scala> NthRoot.nthRoo…
30分プログラム、その780。 最小公倍数を求めてみました。 使い方 gosh> (lcm 3 2) 6 gosh> (lcm 21 6) 42 ソースコード #! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- (define (gcd x y) (if (= y 0) x (gcd y (modulo x y)))) (define (lc…
30分プログラム、その780。anarchy golf - slope linesにインスパイアされました。 xs.reverse()は破壊的な操作なのでぐんんよりですけど、reversed(xs)は反転したイテレータを返してくれるのでいい感じです。 使い方 $ python slope-line.py hello o l l e …
30分プログラム、その779。英語のお勉強になる気がしたので、FML : Your everyday life storiesの最新の投稿を表示するプログラムを書いてみました。 RSSをダウンロードして本文部分を表示してるだけです。 使い方 $ perl fml.pl Today, I broke my nose ope…