Я писал функцию для 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()
таким образом, чтобы он принимал оба типа ввода с использованием одного метода (поскольку я не вижу разницы)?