なんかしらんけど配る
http://ameblo.jp/programming/entry-10001721422.html
via
トランプを配る - 日々ごちゃごちゃと考える
10分でカード配りな! - 象徴ヶ淵
「10分でコーディング」やってみた - kozima の日記 - cadr group
「10分でコーディング」を13分で - 'T - cadr group
ロジック以前にクラスについてうだうだ考えてたら30分経ってたとかダメぽ。
結局お題の条件?無視した形で。
def(String.to_list)^: $(l, is) := &([], .istring()) awhile(is.readc()): l = [*l, it] l def(List.join)^(&opt sep = ""): .foldl("")^(acc,e):acc+sep+e class(Deck)^: def(init)^(&opt cards=""): .cards = cards.to_list() .count = .cards.length() def(deal)^(n): m := .count / n c := .draw(m * n) iota(n).map^(i): iota(m,i,n).map^(j){c[j]}.join() def(draw)^(n): $(c, r) := .cards.car_cdr() if (n < 1): [] else: .cards = r --.count [c | .draw(n-1)] (d = Deck.new("asdfasdf")).deal(3).say() # => ["af", "sa", "ds"] say d.cards # => ["d", "f"]
解答例見てJavaよく知らんけどなんでstaticつけないのとか思った。