首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建Julia Tuple

创建Julia Tuple
EN

Stack Overflow用户
提问于 2018-11-26 11:27:57
回答 1查看 115关注 0票数 1

当我试图理解Julia中的元编程时:这段代码分别缺少了什么,我如何调用适当的Tuple构造函数?

代码语言:javascript
复制
x = (:a, :b)
p = quote
    f_a = 3
    f_b = 4
    y = Tuple($([Symbol("f_", k) for k in x]...))
end

这将生成以下代码:

代码语言:javascript
复制
quote
    f_a = 3
    f_b = 4
    y = Tuple(f_a, f_b)
end

这当然是错误的,因为Tuple没有适当的构造函数。我希望y最终成为一个元组,但我还不知道如何获得额外的括号。

换句话说,在此代码中缺少的是:

代码语言:javascript
复制
x = (:a, :b)

p = quote
    f_a = 3
    f_b = 4
    y = ($([Symbol("f_", k) for k in x]...))
end
eval(p)
@assert isa(y, Tuple)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-26 12:21:18

你可以放个逗号,

代码语言:javascript
复制
x = (:a, :b)

p = quote
    f_a = 3
    f_b = 4
    y = ($([Symbol("f_", k) for k in x]...),) # added a comma here
end
eval(p)
@assert isa(y, Tuple)

以下几点可能具有指导意义

代码语言:javascript
复制
julia> (3)
3

julia> (3,)
(3,)

julia> typeof(ans)
Tuple{Int64}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53480133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档