0

文字列、数値、配列、Java コレクション、およびマップを入力できる関数を作成しています。制約は、文字列と数値の両方の出力がゼロであることです。

Clojure 関数 count は、制約を処理することを除いて、私が必要とするすべてを行います。そこで、if文を使って入力が文字列か数値かをテストしようと考えました。テストが真の場合は 0 を返し、それ以外の場合は count を使用します。どちらの場合でも実行可能なコードがありますが、2 つを組み合わせる方法がわかりません。さらに、この場合、テストをセットアップする最も効率的な方法がわかりません。

  (defn Swanson [a]
        (if (string? a) 0
        (count a)))

  (defn Propello [b]
        (if (instance? Number b) 0
        (count b)))
4

4 に答える 4

0
(defn alex
  [obj]
  (cond
    (string? obj) 0
    (number? obj) 0
    :otherwise (count obj)))
于 2013-11-06T01:15:12.590 に答える