В Julia 1.0, как установить именованный кортеж только с одной парой ключ-значение? - PullRequest
0 голосов
/ 27 августа 2018

Когда я запускаю

t = (one = "one", two = 2) typeof(t)

в REPL, я получаю

NamedTuple{(:one, :two),Tuple{String,Int64}}

, но когда я запускаю

t = (one = "one") typeof(t)

Я получаю String как тип.

Можно ли установить именованный кортеж только с одним именованным значением, чтобы я мог получить доступ, например, к t [1], а также к t.one и получить возвращенное «one»?

1 Ответ

0 голосов
/ 27 августа 2018

Поставьте запятую, то есть

julia> t = (one = "one",)
(one = "one",)

julia> typeof(t)
NamedTuple{(:one,),Tuple{String}}

Причина, по которой t = (one = "one") не работает, заключается в том, что она эквивалентна t = one = "one".Итак, вы определяете две переменные со значением «один».

julia> t = (one = "one")
"one"

julia> typeof(t)
String

julia> typeof(one)
String
...