ジュリアで条件文を簡潔に書く方法
概要
ジュリアで、<condition> && <statement>
は<condition>
が真のとき<statement>
が実行される。関数としては真の場合<statement>
の結果が返され、偽の場合<statement>
は評価evaluationさえされない。
効率的かつ簡潔にコードを書くことができる一方で、可読性が落ちる可能性がある点は受け入れなければならない。また、自分が好んで使わないとしても、他人が書いたコードを読むためには理解しておく必要がある。何の文脈もなく突然出てきたとき、このような文法を知らないと全く理解できない。
参照
コード
基本使用例
julia> num = []
Any[]
julia> iseven(2) && push!(num, 2)
1-element Vector{Any}:
2
2
は偶数なので、push!(num, 2)
が評価され空の配列num
に2
が入った。
リターン
julia> check = iseven(4) && push!(num, 4)
2-element Vector{Any}:
2
4
julia> check
2-element Vector{Any}:
2
4
&&
も関数として何らかの値をリターンできる。この時、check
はcheck = push!(num, 4)
をリターンされたと見ることができる。
julia> check = iseven(5) && push!(num, 5)
false
julia> num
2-element Vector{Any}:
2
4
julia> check
false
一方で<statement>
が偽の場合、<statement>
は評価されず&&
自体がfalse
をリターンした。
否定
julia> iseven(6) || push!(num, 6)
true
&&
の代わりに||
を使用する。
全コード
num = []
iseven(2) && push!(num, 2)
check = iseven(4) && push!(num, 4)
check
check = iseven(5) && push!(num, 5)
num
check
iseven(6) || push!(num, 6)
環境
- OS: Windows
- julia: v1.6.3