gpt4 book ai didi

f# - F# 代码引用中的文件和行号

转载 作者:行者123 更新时间:2023-11-30 23:56:25 25 4
gpt4 key购买 nike

有没有办法从代码引用中提取文件名和行号,以便我们可以为引用代码的转换添加调试信息。还有其他方法吗?

最佳答案

尝试这样的事情:

let sourceInfo (e:Quotations.Expr) = 
let (|Val|_|) e : 't option =
match e with
| Quotations.Patterns.Value(:? 't as v,_) -> Some v
| _ -> None
let (|Tup|_|) = Quotations.Patterns.(|NewTuple|_|)

e.CustomAttributes
|> List.tryPick (function | Tup [Val("DebugRange")
Tup [Val(file:string)
Val(startLine:int)
Val(startCol:int)
Val(endLine:int)
Val(endCol:int)]]
-> Some(file,startLine,startCol,endLine,endCol)
| _ -> None)

sourceInfo <@ "test" @>

关于f# - F# 代码引用中的文件和行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11772046/

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