将新方法添加到 Julia 基运算符



我想在将结果提供给字符串运算符之前进行一些计算 ^ .目前我正在做以下工作:

"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"
您需要

将运算符指定为符号

Base.:^(x, y::Float64) = x ^ Int(y)

最新更新