2016-05-10 15 views
2

Javaから切り替えた後にKotlinに快適になっていて、Kotlinのassert関数をエラーメッセージとともに使用する方法がわかりませんでした。Kotinでエラーメッセージのアサーション

は簡単に聞こえる、私はJavaの

assert count > 5 : "value too small" 

に似た何かが必​​要私はしかし、2番目の引数は() -> Anyにする必要がある

assert(count > 5, "value too small") 

を試してみました。それを達成する方法?

答えて

3

assertのmessageパラメータは文字列ではなく、文字列を返す関数です。 assertは通常のKotlin関数であるため、文字列が複雑な式である場合にメッセージ文字列を計算する際に不要なオーバーヘッド(時にはセマンティクスが変更される)が発生するたびにその引数が評価されます。

関数の引数を渡すには、lambda syntaxを使用します。ラムダである最後の引数は、かっこの外に置かれてもよい。

assert(count > 5) { "value too small" } 
2

私は自分でそれを得た、私はKotlinに次のようになりますこれは、パラメータなしでラムダ関数を宣言する必要があります:

assert(count > 5, {"value too small"}) 
assert(count > 5, { -> "value too small"}) 
あなたを悩ませて申し訳ありません

!私は質問を残すかもしれない、おそらく他の初心者が役に立つと思うかもしれない。

関連する問題