Time to Read

1分

なんとなく作った。

Rack::Hanoi can solve Hanoi’s Tower question on the browser.

ハノイの塔の解法を求めてくれる、便利な Rack Middleware です。

インストール

1
gem install pebbles-rack-hanoi

使い方

1
2
3
4
5
6
require 'pebbles-rack-hanoi'
 
use Rack::Hanoi
run lambda {|e|
  [200, {"Content-Type" => "text/plain"}, ["OK"]]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
rackup config.ru
curl http://localhost:9292/hanoi/4; echo
00: Disc Moved A to B
01: Disc Moved A to C
02: Disc Moved B to C
03: Disc Moved A to B
04: Disc Moved C to A
05: Disc Moved C to B
06: Disc Moved A to B
07: Disc Moved A to C
08: Disc Moved B to C
09: Disc Moved B to A
10: Disc Moved C to A
11: Disc Moved B to C
12: Disc Moved A to B
13: Disc Moved A to C
14: Disc Moved B to C

便利ですね。 env["rack.logger"] にロガーがセットされる場合はそちらにも書き込みに行きます。

http://localhost:9292/hanoi/10000 とかを見にいこうとしたら永遠近く待たされるので気をつけてください。

なぜ作った

@app.call(env) を無限に呼ぶ感じからインスパイアされて作ってみたら何かできてしまった。他意はない。

pebbles- 名前空間は @kwappa さんの提案です。