我有简单的元组(例如从数据库中读取),我不知道元素的数量也不知道内容。例如
(String, Int, Int)
或(String, Float, String, Int)
。
我想编写一个通用函数,它将采用各种元组并用字符串“NIL”替换所有数据。如果字符串“NIL”已经存在,它应该保持不变。
回到例子:
("something", 3, 4.788)
应该导致("something", "NIL", "NIL")
("something else", "Hello", "NIL", (4,6))
应该导致("something else", "NIL", "NIL", "NIL")
我显然不知道从哪里开始,因为用已知的元组来做这件事不会有问题。没有模板 Haskell 是否有可能达到我想要的结果?