给我一个模块:
defmodule Foo do
def bar(baz) do
IO.puts baz
end
end
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让我回来:
def bar(baz) do
IO.puts baz
end
Run Code Online (Sandbox Code Playgroud)
我已经发现我可以加载模块的整个定义:
Foo.__info__(:compile) |> List.last |> elem(1) |> File.read |> elem(1)
Run Code Online (Sandbox Code Playgroud)
但理想情况下,我很乐意做类似的事情
Foo.bar/1.__definition__
#=> def bar(baz) do\n IO.puts baz\nend\d
Run Code Online (Sandbox Code Playgroud) 我试图在nokogiri中的两个元素之间获取文本,并将数据与前面元素中的文本配对.
html =
"<website>
<maindeck>
1<card>Blood Crypt</card>
2<card>Temple Garden</card>
</maindeck>
<maindeck>
3<card>Angel of Serenity</card>
4<card>Forest</card>
</maindeck>
</website>"
Run Code Online (Sandbox Code Playgroud)
我想最终得到这样的数组
#=> [[1,"Blood Crypt"],[2,"Temple Garden"]]
Run Code Online (Sandbox Code Playgroud)
前一个例子提供了这个作为答案,但我不确定它做什么/如何使用它.
/*/div[1]/following-sibling::text()[1]
Run Code Online (Sandbox Code Playgroud)