相关疑难解决方法(0)

在`Expr`中剥离`LineNumberNode`的通用函数(应该能够处理:macrocalls)?

是否有一个内置的朱莉娅功能剥离LineNumberNodeExpr?特别是对于macrocalls:

julia> ex = :(@foo 1)
:(#= REPL[5]:1 =# @foo 1)

julia> dump(ex)
Expr
  head: Symbol macrocall
  args: Array{Any}((3,))
    1: Symbol @foo
    2: LineNumberNode
      line: Int64 1
      file: Symbol REPL[5]
    3: Int64 1
Run Code Online (Sandbox Code Playgroud)

试过MacroTools.striplines,但是

julia> ex = :(@foo 1+1)
:(#= REPL[7]:1 =# @foo 1 + 1)

julia> MacroTools.striplines(ex) |> dump
Expr
  head: Symbol macrocall
  args: Array{Any}((3,))
    1: Symbol @foo
    2: LineNumberNode
      line: Int64 1
      file: Symbol REPL[7]
    3: Expr
      head: Symbol call
      args: Array{Any}((3,)) …
Run Code Online (Sandbox Code Playgroud)

julia

6
推荐指数
1
解决办法
175
查看次数

标签 统计

julia ×1