トップ «前の日記(2008-09-04) 最新 次の日記(2008-09-09)» 編集

Route 477



2008-09-05 最近書き溜めてたエントリまとめうp

[ruby] _why先生のShoes本が通販できるらしい

NOBODY KNOWS SHOES (nks) といえば_why先生のRuby Shoes本なわけですが、

こいつがlulu.comで通販されているらしい。

これは買うしかないだろ!と思って注文しかけたんだが、送料含めたら3000円とかになって 我に返った。普通にPDFから印刷するか…。

廉価版もあるんだけど見開き綴じになってないっぽい。

[ruby] Proc#===を定義してFizzBuzzを綺麗に書く

class Proc
  def ===(*args)
    self.call(*args)
  end
end

def divide0?(n)
  proc{|x|
    x % n == 0
  }
end

のように定義しておくと、FizzBuzzが

1.upto(15) do |i|
  case i
  when divide0?(15)
    puts "FizzBuzz"
  when divide0?(3)
    puts "Fizz"
  when divide0?(5)
    puts "Buzz"
  else
    puts i
  end
end

みたいに書ける。divide0?がProcオブジェクトを返して、case〜whenなのでProc#===が呼ばれて 、その返り値が真か偽かでマッチしたかが判定されると。なるほどなぁ。

一応、実行結果。

/Users/yhara/ % ruby ~/tmp/fb.rb
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

[misc] ruby-talkの流量がruby-listより多いのは

そもそもMLに書くメールの概念が違うよなぁ。1行付け足しただけのメールとか普通にあるし。

ruby-talkの方がチャットに近い雰囲気であるといえる。

[haskell] AppleCatcherがHaskellに移植されそうです

AppleCatcherというのは僕が作ったこういう感じのゲームなのですが、

?c=plugin;plugin=attach_download;p=RubySDLStarterKit;file_name=apple2s.png

それがHaskellのYampaに移植されそうです。wktk。

YampaというのはHaskellでFunctional Reactive Programmingするためのライブラリで、 内部実装にArrowが使われてるとかなんとか。

Yampa自体はデータの流れを制御するだけなので特定のViewには結びついてないようで、 ViewとしてはSDLが使われてます。

[rails][rspec] it_renders, it_assignes, it_flashes

RSpec+Railsで、こういうありがちなのは↓

 flash[:error].should_not be_nil
 response.should render_template("new")

こういう風に書けた方が嬉しくね?という話。

 it_flashes :error
 it_renders :new

実装はリンク先をどうぞ。spec/spec_helper.rbに追記するだけらしい。簡単ですね。

関係ないけど、

 def it_renders(what)
   response.should render_template(what.to_s)
 end

の仮引数に「what」を使うという発想はなかったなぁ。

[rspec][prog] RSpecみたいな英語DSL的なものが

日本語に存在しないのが遺憾である。

誰か、日本語をそのまま書いたら仕様になるようなシステムも作るべき。なでしこに期待。

…っていうかなでしこそのまんまか?

[haskell][prog] Re: 超似非G-Machineを実装してみた - Yet Another Ranha

これは遅延評価言語を作るのに役立ちそう。日本語で読めるのがありがたいですね。

Haskellとか実装したい人は読むといいのかな。

[idea] 壁紙とかもう古い!

これからは壁動画だと思うんです。

山奥の渓流を、風に揺れる稲穂を、太平洋のさざ波を見ながらコーディングとかしたくはないかね?

本日のツッコミ(全2件) [ツッコミを入れる]
Yuya (2008-09-08 12:11)

Windows DreamScene?<br>僕的には気が散ってダメでした・・・

yhara (2008-09-10 00:24)

おお、既に実現されてるのですね。<br>あまり動きのないほうが作業には向いてるかもなぁ。