How to import Base: ! when I get no method matching !??
Works fine for me.
julia> import Base: !
julia>
What are you doing and what is the exact error?
I get ERROR: MethodError: no method matching !(::Vector.........
so I want to know how wan I solve it with
Importing the function from Base
won’t help. It is already imported by default.
!
means logical negation. It is not defined for vectors. What is it supposed to return on a vector, e.g what should ![1,2,3]
be?
Base
defines it for booleans, functions and missing values:
julia> methods(!)
# 3 methods for generic function "!":
[1] !(f::Function) in Base at operators.jl:1117
[2] !(x::Bool) in Base at bool.jl:35
[3] !(::Missing) in Base at missing.jl:101
You can use broadcasting .
to negate a vector of booleans for example
julia> .![true, false, true]
3-element BitVector:
0
1
0
When you get an error message, you must show all the code you ran to get that error.
Since the error message mentions Vector
, clearly you did something after import Base: !
that triggered the error. That is the important part to show.
This is a useful post to consult when asking questions: