如何在一行中重写这个函数?

How to rewrite this function in one line?

我有以下几行代码:

f((k,v)) = Symbol(k) => Symbol(v)
Dict(Iterators.map(f, pairs(names)))

而且我想把它写成一行。我试过这个:

Dict(Iterators.map((k,v) -> Symbol(k) => Symbol(v), pairs(names)))

但它抛出方法错误:

MethodError: no method matching (::var"#13#14")(::Pair{Symbol, String})

能不能写成一行?

你想要这个:

Dict(Iterators.map(((k,v),) -> Symbol(k) => Symbol(v), pairs(names)))

(注意 (k,v) 后的逗号强制将匿名函数的第一个参数分解为两个元素)

怎么样

Dict(Symbol(k)=>Symbol(v) for (k, v) in pairs(names))

?