例如有人通過我可以在Julia中使用類型字段嗎?
type Bar
v::String
end
定義一個類型吧,我認爲v
是一個糟糕的字段名,並且不希望直接改變它。 我想給該字段設置一個別名,例如value
。
我希望我可以這樣做alias Bar.v, :value
,並得到了
julia> bar = Bar("the value")
julia> bar.value
"the value"
我可以在朱莉婭做這種事?
例如有人通過我可以在Julia中使用類型字段嗎?
type Bar
v::String
end
定義一個類型吧,我認爲v
是一個糟糕的字段名,並且不希望直接改變它。 我想給該字段設置一個別名,例如value
。
我希望我可以這樣做alias Bar.v, :value
,並得到了
julia> bar = Bar("the value")
julia> bar.value
"the value"
我可以在朱莉婭做這種事?
這是目前不可能的。
我可以想象你能做到這一點的唯一方法是重載a.b
字段訪問語法(getfield
),你目前不允許這樣做。這裏有一個關於這個問題的長篇討論https://github.com/JuliaLang/julia/issues/1974但tldr它可能會在1.0之前實現。
這個答案是正確的 - 目前這是不可能的。 – StefanKarpinski
如果朱莉婭有這樣的功能,應該是真的做飯! – Yang
事實上,我認爲有很多用例可能很酷,但是@DNF指出,定義訪問器方法對於頂級用法通常是需要的。 –
首選的方法不是直接訪問字段,而是定義一個訪問方法'value(b :: Bar)= b.val'。字段名稱可以看作是該類型的內部實現的一部分,不應該擔心。 – DNF