【发布时间】:2019-06-15 03:23:18
【问题描述】:
我想检查前缀形式是否有效
≈(0.9, 1; atol = 0.1)
是否可以指定中缀形式的可选参数?类似的东西(代码不起作用)
0.9 ≈ 1 atol = 0.1
【问题讨论】:
标签: julia
我想检查前缀形式是否有效
≈(0.9, 1; atol = 0.1)
是否可以指定中缀形式的可选参数?类似的东西(代码不起作用)
0.9 ≈ 1 atol = 0.1
【问题讨论】:
标签: julia
您必须使用前缀函数调用语法才能将关键字参数传递给函数。 Test 标准库提供的 @test 宏允许您通过添加尾随 key=val 对来为 ≈ 提供关键字参数,如下所示:
julia> using Test
julia> @test 1 ≈ 1.001 rtol=0.001
Test Passed
这是@test 宏的特殊功能,但不是运算符语法的一般功能。无法将关键字参数传递给具有中缀语法的运算符。
【讨论】:
≈(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
【讨论】:
≈ 添加方法。这是盗版类型的教科书案例:docs.julialang.org/en/v1/manual/style-guide/….