simanのブログ

ゆるふわプログラマー。競技プログラミングやってます。Ruby好き

Rubyで長いメソッドチェーンを作るゲームをするgemを作った

まだ作成中だけど、gemの名前確保も含めてリリース

「shiritori」
https://github.com/siman-man/shiritori

ルールに関してもまだ細かいところは決めてないけど大まかにはこんな感じ

ルール
1. 最初に適当なオブジェクトを入力
2. そのオブジェクトで使用できるメソッドを入力
     * 一度使用したメソッドは使用できない
     * 既存のメソッドや新しいメソッドの定義は禁止
3. 使用できるメソッドが無くなるまでこれを繰り返す
4. 長いメソッドチェーンを作ろう!


サンプル

% shiritori                                                                                                                                                   [master]
Please input first object > "Ruby"

+----------------------+
| Current method chain |
+----------------------+
|        "Ruby"        |
+----------------------+

+---------------+----------------+
| Current Class | Current Object |
+---------------+----------------+
|    String     |     "Ruby"     |
+---------------+----------------+

Please input next method > chars 
Exec command "Ruby".chars
:chars

+----------------------+
| Current method chain |
+----------------------+
|     "Ruby".chars     |
+----------------------+

+---------------+----------------------+
| Current Class |    Current Object    |
+---------------+----------------------+
|     Array     | ["R", "u", "b", "y"] |
+---------------+----------------------+

Please input next method > first
Exec command ["R", "u", "b", "y"].first
:first

+----------------------+
| Current method chain |
+----------------------+
|  "Ruby".chars.first  |
+----------------------+

+---------------+----------------+
| Current Class | Current Object |
+---------------+----------------+
|    String     |      "R"       |
+---------------+----------------+

楽しいかどうかは不明

追記

細かいルールをgistに書くことにしました。
https://gist.github.com/siman-man/7b67cde15c7180bd8a45