0

おそらく Nim の適切な実装とは見なされない非常に単純な Nim ゲームを作成しようとしていますが、Clojure を開始したばかりです。4行目のこの減算が機能しない理由がわかりません...

   1. (def nimBoard 10)
   2. (println "There are" nimBoard "objects left")
   3. (def in (read-line))
   4. (- nimBoard in)

ボードが空になるまで、ボードから 1 つまたは 2 つの「オブジェクト」を削除するかどうかをユーザーに尋ねるための確かなアルゴリズムを思い付くことができないようです。私はJavaから来ましたが、この言語のループは私をとても混乱させます. 私が作ろうとしているのは Game of Nim ではないことはわかっていますが、練習用です。

助けていただければ幸いです:)

4

1 に答える 1

3

は標準入力から読み取る文字列であるため、減算する前にまず数値inに変換する必要があります。inこれを試して:

(defn parse-int [s]
      (Integer. (re-find  #"\d+" s )))
(- nimBoard (parse-int in))
于 2013-10-24T02:24:34.763 に答える