我想在将结果提供给字符串运算符^
之前进行一些计算。目前我正在做以下事情:
"adsf" ^ Float64(6)
# MethodError: no method matching ^(::String, ::Float64)
以下是我到目前为止的尝试:
Base.^(x, y::Float64) = x ^ Int(y)
# syntax: "(x,y::Float64)" is not a valid function argument name
总的来说,我觉得功能形式是正确的:
fu(x, y::Float64) = x ^ Int(y)
fu("adsf", Float64(6))
# "adsfadsfadsfadsfadsfadsf"
答案 0 :(得分:4)
您需要将运算符指定为符号
Base.:^(x, y::Float64) = x ^ Int(y)