Я писал функцию для boolean 2d массивов:
function foo(A::Array{Bool,2})
...
end
Оценка и тестирование с помощью
A = randbool(3,3)
foo(A)
возвращает
ERROR: 'foo' has no method matching foo(::BitArray{2})
Очевидно, randbool() создает BitArray, тогда как я предположил, что randbool() даст Array{Bool}.
Как связаны Array{Bool} и BitArray? Почему они оба существуют?
Могу ли я написать foo() таким образом, чтобы он принимал оба типа ввода с использованием одного метода (поскольку я не вижу разницы)?