如何在Julia中将可选参数传递给运算符

时间:2019-06-14 00:49:45

标签: julia

我想检查前缀形式是否正常

≈(0.9, 1; atol = 0.1)

是否可以以infix形式指定可选参数?像这样(代码不起作用)

0.9 ≈ 1 atol = 0.1

2 个答案:

答案 0 :(得分:2)

您必须使用前缀函数调用语法,才能将关键字参数传递给函数。 dok_matrix.get()标准库提供的@test宏允许您通过添加尾随Test对来为提供关键字参数:

key=val

这是julia> using Test julia> @test 1 ≈ 1.001 rtol=0.001 Test Passed 宏的特殊功能,但不是运算符语法的一般功能。无法使用infix语法将关键字参数传递给运算符。

答案 1 :(得分:1)

≈(a, t::Tuple{Float64,Float64}) = isapprox(a, t[1]; atol=t[2])

julia> 1.1 ≈ 1.2
true

julia> 1.0 ≈ (0.9, 0.15)
true