【Erlang】プログラム言語 Elixir 【BEAM】 [転載禁止]©2ch.net (343レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
333: 2022/01/19(水)20:17 ID:Qtd/3JbQ(1/2) AAS
>>326
iExで直接モジュールや関数を書くかわりにいったん

iex(1)> q = quote do
...(1)> defmodule Mod do
...(1)> def func , do: 999
...(1)> end
...(1)> end

みたいに構文抽象木を変数に束縛してやって、それをCode.eval_quotedで評価して実体化

iex(2)> Code.eval_quoted(q)

すると直にiExに書いたのと同じように

iex(3)> Mod.func
999

となる
334: 2022/01/19(水)20:20 ID:Qtd/3JbQ(2/2) AAS
で、これを何度も繰り返して問題なく動くようになったらMacro.to_stringを使って
抽象構文木を文字列化して、それをファイルに保存するなりなんなりすればいい
手間は一個増えるけどね

iex(4)> Macro.to_string(q) |> IO.puts

defmodule Mod do
def func do
999
end
end
:ok
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.018s