文字列、数値、配列、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)))