methods - 向 Julia 基运算符添加新方法

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

最佳答案

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

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

关于methods - 向 Julia 基运算符添加新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43264957/

相关文章:

julia - julia 的 View 函数的幕后发生了什么? [3, :] = view(a, 1, :) vs a[3, :] = a[1, :]

julia - 如何在 Julia 数据框中删除/删除空行和 NaN?

c++ - 这有多虚拟?

java - 我必须使用方法的返回值吗?

serialization - 相当于 Julia 的泡菜

julia - 如何在 Julia 中直观地查看分析信息?

julia - Julia 1.0 中的子字符串与字符比较违反直觉

c# - 方法重写或拦截

ruby - 为什么方法 to_i 和 to_f 没有出现在 String.methods 中?

java - log4j属性配置问题