論理演算子 パート3
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 26/93。
優先順位は、式がどのようにグループ化されるかを決めます。! が最も強く結合し、次に &&、その次に || が続きます。したがって、a || b && c は a || (b && c) を意味します。
val a = true
val b = false
val c = false
println(a || (b && c)) // true
println((a || b) && c) // falseグループ化と評価順序は異なります。|| は左オペランドが true の場合に停止し、&& は左オペランドが false の場合に停止します。上の最初の式では、a がすでに true なので、b && c は評価されません。
括弧を使うと、グループ化を変更したり、明示したりできます。まず左オペランドを評価し、その後で右オペランドが必要かどうかを判断します。
チャレンジ
簡単canAccessFeature 関数を記述してください。この関数は isAdmin、isPremium、hasTrialActive を受け取り、ユーザーがプレミアム機能にアクセスできるかどうかを返します。
ユーザーが管理者であるか、プレミアムメンバーかつ有効なトライアル期間中である場合、その機能にアクセスできます。
正しい評価順序を確保するために括弧を使用してください。&& 条件を || と組み合わせる前に、まとめてグループ化する必要があります。
パラメーター:
isAdmin(Boolean): ユーザーが管理者であるかどうかisPremium(Boolean): ユーザーがプレミアムサブスクリプションを持っているかどうかhasTrialActive(Boolean): ユーザーが有効なトライアル期間中であるかどうか
戻り値: ユーザーが機能にアクセスできる場合は true、それ以外の場合は false (Boolean)
提供されたドライバーが関数を呼び出し、その戻り値を出力します。関数シグネチャは変更せず、main 関数を追加しないでください。
自分で試してみよう
fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
// ここにコードを書いてください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド