如何在一行中重写这个函数?
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))
?
我有以下几行代码:
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))
?