例如,我希望获得看起来像原生的“for”循环,它是用crystal的嵌入式宏语言实现的,但是在主要的“运行时”语言中缺少(出于原理的原因):
for i in list do
end
for k, v in hash do
end
(这里“{}”是一个简单的块。我无论如何都不能使用do .. end语法(也许不是))。 将很好地实现多inlcude指令,例如:
includes MixinX, MixinY, MixinZ
依旧...... 据我所知,宏(在提供的片段中命名为“for”和“includes”)不能在没有双引号的情况下接受“i in list”。所以...只有一种方法可以做到 - 扩展crystal的语法/词法解析器和分析器本身?