向Julia base运算符添加新方法

时间:2017-04-06 20:14:30

标签: methods 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"

1 个答案:

答案 0 :(得分:4)

您需要将运算符指定为符号

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