gpt4 book ai didi

haskell - 如何在haskell中获取变量名

转载 作者:行者123 更新时间:2023-12-03 15:22:56 29 4
gpt4 key购买 nike

我来到 haskell 有一些 c 背景知识,想知道有没有类似的

#define print( a ) printf( "%s = %d\n", #a, a )

int a = 5;
print( a );

那应该打印
a = 5

?

最佳答案

这是提到的TH解决方案augustss:

{-# LANGUAGE TemplateHaskell #-}
module Pr where
import Language.Haskell.TH
import Language.Haskell.TH.Syntax

pr :: Name -> ExpQ
pr n = [| putStrLn ( $(lift (nameBase n ++ " = ")) ++ show $(varE n) ) |]

然后在另一个模块中:
{-# LANGUAGE TemplateHaskell #-}
import Pr
a = "hello"
main = $(pr 'a)

关于haskell - 如何在haskell中获取变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7896928/

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