gpt4 book ai didi

elixir - 有没有办法可以在 Elixir 中返回函数定义

转载 作者:行者123 更新时间:2023-12-04 08:08:19 25 4
gpt4 key购买 nike

给我一个模块:

defmodule Foo do
def bar(baz) do
IO.puts baz
end
end

有什么方法可以返回:
def bar(baz) do
IO.puts baz
end

我发现我可以加载模块的整个定义:
Foo.__info__(:compile) |> List.last |> elem(1) |> File.read |> elem(1)

但理想情况下,我很乐意做类似的事情
Foo.bar/1.__definition__
#=> def bar(baz) do\n IO.puts baz\nend\d

最佳答案

Elixir 是一种编译语言。在运行时源代码不再存在,它已被编译为 BEAM 字节码。在运行时没有函数的源代码级表示供您的代码检查或检索。

关于elixir - 有没有办法可以在 Elixir 中返回函数定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com