5
ジュリアの複雑な表現を構築するためのリストの理解のようなものはありますか?ジュリア式の中にリスト理解のような展開?
たとえば、いくつかのシンボルと型があり、それらから型を作成したいとします。今、私は何かのようにする必要があります。あなたが知るためにExpr
データ型と密接に知識が持っているので、これは(両方とも非常にエラーが発生しやすくなりますように。これは、そのnew_type
で動作
syms = [:a, :b, :c]
typs = [Int, Float32, Char]
new_type = :(type Foo end)
new_type.args[3].args = [:($sym::$typ) for (sym,typ) in zip(syms,typs)]
は
:(type Foo
a::Int64
b::Float32
c::Char
end)
しかし、建物の複雑な式を含む式であります例えば、タプルのデータ型の式をnew_type.args[3].args
に格納する必要があります)また、構築されている式のASTを変更すると、すべての部分式が格納されている場所や方法を変更する必要があるという点で非常に脆弱です。
ので
:(type Foo
$(sym::typ for (sym,typ) in zip(syms,typs))
end)
ような何かをし、上記と同様の表現で終わるする方法はありますか?
おかげだと思います。 –