スキーマXに一致するものがtrueを返し、そうでないものがfalseを返す述語関数を作成したいと思います。Plumatic Schemaから述語関数を作成できますか?
0
A
答えて
3
あなたはschema/validate
のように動作しますが、代わりに投げる例外またはnil
の値として直接エラーを返すschema/check
を使用することができます。また、「スキーマのための効率的なチェッカーをコンパイルschema/checker
あり
(schema/defschema string-vector
[schema/Str])
(defn str-vec? [arg]
(nil? (schema/check string-vector arg)))
(str-vec? ["hi"]) ; => true
(str-vec? ["hi" 5]) ; => false
":
(let [str-vec?-checker (schema/checker string-vector)]
(defn str-vec? [arg]
(nil? (str-vec?-checker arg))))
0
おそらく最も美しい解決策ではありませんが、スキーマvalidate
を使用して、失敗時にスローする例外をキャッチできます。
(schema/defschema string-vector
[schema/Str])
(defn str-vec? [arg]
(try (schema/validate string-vector arg)
true
(catch clojure.lang.ExceptionInfo e
false)))
(str-vec? ["hi"]) ; => true
(str-vec? ["hi" 5]) ; => false
うまくいけば、他の誰かがより良い解決策を提供できます。エラーが発見されないとき
関連する問題
- 1. Swagger:Dynamic Schema
- 2. (Prismatic)Plumatic Schema Documentation
- 3. 英語の記述から関係代数クエリを作成する
- 4. 述語で関数チェックオブジェクトを作成する
- 5. 関数を返す関数型を記述できますか?
- 6. Visual Studio MacからAzure関数を作成できますか?
- 7. ER図から関係述語
- 8. 別の述語を作成
- 9. 関数centuryFromYear($ year)をPHP言語で作成しますか?
- 10. STL述語は引数のアドレスを使用できますか?
- 11. 私は述語オブジェクトのクローンを作成したい述語
- 12. 他の関数からしかアクセスできない関数を作成する
- 13. リレーションシップ数をテストするための述語を作成する
- 14. getattr()のように動作する関数シグネチャを記述できますか?
- 15. Oracleからh2で関数を作成
- 16. Java関数の述語と関数を適切に構成する方法は?
- 17. remove_if:boolを返す関数を渡すときの述語エラー
- 18. NashornエンジンJava 8から述語を作成し返す方法<T>
- 19. コードから関数を作成する
- 20. structから関数を作成する
- 21. 関数を述語として別の関数に渡すには、述語関数の名前をRunTimeで受け取ったら?
- 22. トレースから述語を隠す
- 23. SQL Serverでグローバル関数を作成できますか?
- 24. Excel VBA:カスタムメソッドでカスタム関数を作成できますか?
- 25. ある関数でオブジェクトを作成し、別の関数でオブジェクトを作成できますか?
- 26. 式関数:汎用型T述語
- 27. N進述語評価の関数(count_if)
- 28. あらかじめ作成された文字列を持つ述語を作成する
- 29. 式の述語を式の述語から取得するには?
- 30. ラムダ関数からREST APIを作成