Операции ввода между массивами логических значений Julia

#julia

#julia

Вопрос:

Я хотел бы создать массив, записи в котором находятся true , когда соответствующая запись в arr1 is true и соответствующая запись в arr2 false . Я могу сделать это арифметически:

 arr1 = [true false true
    true true false]

arr2 = [true false false
    true false true]

# Arithmetic way
convert(Array{Bool}, (arr1 .* (1 .- arr2)))
 

Но я нахожу следующее более читаемым:

 # Intuitive way (doesn't work)
arr1 .amp; !arr2
 

Существует ли рабочий синтаксис Julia, который больше похож на этот?

Ответ №1:

 arr1 .amp; .!arr2
 

дает

 2×3 BitArray{2}:
 0  0  1
 0  1  0
 

Комментарии:

1. или @. arr1 amp; !arr2