Macros 使用M4,如何从字符串中提取代码并增加缩进?
我需要编写一个M4宏,在大括号之间提取+转换代码 我想改变Macros 使用M4,如何从字符串中提取代码并增加缩进?,macros,m4,Macros,M4,我需要编写一个M4宏,在大括号之间提取+转换代码 我想改变 { import math a_list = [1, 4, 9, 16] if val: print([math.sqrt(i) for i in a_list]) else: print("val is False") print("bye bye")
{
import math
a_list = [1, 4, 9, 16]
if val:
print([math.sqrt(i) for i in a_list])
else:
print("val is False")
print("bye bye")
}
到
导入数学
a_list=[1,4,9,16]
如果val:
打印([math.sqrt(i)代表列表中的i])
其他:
打印(“val为假”)
打印(“再见”)
宏必须修剪第一个{之前和最后一个}之后的空格。
因为这是python代码,所以在大括号的旁边必须保留相对缩进。
因为宏的输出将在某处输出,所以需要一定程度的缩进。
宏还应该能够添加额外的缩进(=一些空格),例如作为参数给定。
项目已经在使用m4sugar,因此引号是[和]
谢谢。宏的参数到底是什么?例如,在开始的支架之前或结束的支架之后会有东西吗?