หากฉันมีฟังก์ชันคล้ายลายเซ็นf(args...; kwargs...)
ฉันจะลบคำหลักที่เฉพาะเจาะจงออกได้kwargs
อย่างไร การพิมพ์อย่างไร้ค่า kwargs.x
ไม่ทำงาน:
julia> f(args...; kwargs...) = kwargs.x
f (generic function with 1 method)
julia> f(x=1)
ERROR: type Pairs has no field x
Stacktrace:
[1] getproperty(::Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:x,),Tuple{Int64}}}, ::Symbol) at ./Base.jl:20
[2] #f#7(::Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:x,),Tuple{Int64}}}, ::typeof(f)) at ./REPL[2]:1
[3] (::var"#kw##f")(::NamedTuple{(:x,),Tuple{Int64}}, ::typeof(f)) at ./none:0
[4] top-level scope at REPL[3]:1
คำถามนี้ปรากฏในช่อง JuliaLang Slack ใน #helpdesk สำหรับการเชิญอัตโนมัติไปยังการหย่อน julia ที่มีประโยชน์มากเพียงกรอกhttps://slackinvite.julialang.org