4

test.check を使用するには、特定の長さの文字列のジェネレーターが必要です。電話番号、郵便番号、社会保障番号はすべて、この種のデータの例です。例は数字だけのように見えますが、私の質問は一般的な文字列です。

4

3 に答える 3

1

この関数は、指定されたアルファベット (オプション) の文字を使用して、指定された長さの文字列を生成します。引数としてアルファベットを渡さない場合は、デフォルトが使用されますが、もちろん変更できます。

(defn generate-string 
  ([length]
   (generate-string length
            (map char (range 49 127))))
  ([length alphabet]
   (apply str (take length (repeatedly #(rand-nth alphabet))))))

例:

(generate-string 7 [\a \b \c])
"bacacbb"

(generate-string 10)
"mxqE<OKH3L"
于 2016-03-13T17:47:42.910 に答える