Swift Language
ブール
サーチ…
Boolとは何ですか?
Boolは、 true
とfalse
2つの値を持つブール型です。
let aTrueBool = true
let aFalseBool = false
Boolは、制御フロー文で条件として使用されます。 if
文はブール条件を使用して、実行するコードブロックを決定します。
func test(_ someBoolean: Bool) {
if someBoolean {
print("IT'S TRUE!")
}
else {
print("IT'S FALSE!")
}
}
test(aTrueBool) // prints "IT'S TRUE!"
接頭辞を付けてBoolを否定してください!オペレーター
接頭辞!
演算子は引数の論理否定を返します。つまり、 !true
はfalse
返し、 !false
はtrue
返しtrue
。
print(!true) // prints "false"
print(!false) // prints "true"
func test(_ someBoolean: Bool) {
if !someBoolean {
print("someBoolean is false")
}
}
ブール論理演算子
OR(||)演算子は、2つのオペランドの1つが真と評価されると真を返し、そうでない場合は偽を返します。たとえば、次のコードは、OR演算子のどちらかの側の式の少なくとも1つが真であるため、trueと評価されます。
if (10 < 20) || (20 < 10) {
print("Expression is true")
}
AND(&&)演算子は、両方のオペランドが真と評価される場合にのみtrueを返します。次の例では、2つのオペランド式のうち1つだけが真と評価されるため、falseを返します。
if (10 < 20) && (20 < 10) {
print("Expression is true")
}
XOR(^)演算子は、2つのオペランドのうち1つだけが真と評価される場合にtrueを返します。たとえば、次のコードは、1つの演算子のみが真と評価されるため、trueを返します。
if (10 < 20) ^ (20 < 10) {
print("Expression is true")
}
ブール値とインライン条件
ブール値を扱うきれいな方法は、条件付きのインラインをa? b:Swiftの基本操作の一部であるc三項演算子。
インライン条件は3つのコンポーネントで構成されています。
question ? answerIfTrue : answerIfFalse
questionは評価されるブール値で、answerIfTrueは質問が真である場合に返される値で、answerIfFalseは質問が偽である場合に返される値です。
上記の式は次のようになります。
if question {
answerIfTrue
} else {
answerIfFalse
}
インライン条件付きでは、ブール値に基づいて値を返します。
func isTurtle(_ value: Bool) {
let color = value ? "green" : "red"
print("The animal is \(color)")
}
isTurtle(true) // outputs 'The animal is green'
isTurtle(false) // outputs 'The animal is red'
ブール値に基づいてメソッドを呼び出すこともできます。
func actionDark() {
print("Welcome to the dark side")
}
func actionJedi() {
print("Welcome to the Jedi order")
}
func welcome(_ isJedi: Bool) {
isJedi ? actionJedi() : actionDark()
}
welcome(true) // outputs 'Welcome to the Jedi order'
welcome(false) // outputs 'Welcome to the dark side'
インライン条件は、クリーン1ライナーブール評価を可能にする
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow