在Julia中,保留关键字是否可以用纯字母标记作为别名?

在Julia中,保留关键字是否可以用纯字母标记作为别名?,julia,alias,reserved-words,Julia,Alias,Reserved Words,在C语言中,可以很容易地定义一个宏来实现这一点,因为宏系统是一个哑文本替换 #define se fi se ( true ) print( "jes!" ); 相反,Julia及其语法宏系统提供了更强大的元编程能力。然而,如果可能的话,实现保留字的别名似乎要简单得多 所以问题基本上是,Julia允许以这样的代码结束吗 se ( vera ) liniu( "jes!" ) hop 这将被无缝地解释为 if ( true ) println( "jes!" ) end 特别是,

在C语言中,可以很容易地定义一个宏来实现这一点,因为宏系统是一个哑文本替换

#define se fi
se ( true )
  print( "jes!" );
相反,Julia及其语法宏系统提供了更强大的元编程能力。然而,如果可能的话,实现保留字的别名似乎要简单得多

所以问题基本上是,Julia允许以这样的代码结束吗

se ( vera )
  liniu( "jes!" )
hop
这将被无缝地解释为

if ( true )
  println( "jes!" )
end

特别是,所寻求的解决方案不应以
@se
等结束,同时仍允许使用等效的回溯功能来调试代码。

宏调用必须始终以
@
开头。这是一个经过深思熟虑的设计选择,以清楚地表明“代码重写魔术”发生的地方。所以,答案是否定的,是故意的。好吧,我想我们不能用做作的宏观扩张来达到这个目的。它们是其他能够实现特定目标的内置设施吗?据我所知不是。几年前我尝试过类似的方法,因为我想用西班牙语教不懂英语的小孩编程。当时我使用的是JuliaParser包:,它不再维护。朱莉娅从那时起改变了很多,但现在它有了一个稳定的版本,也许是时候再试一次了。对于完整的i18n支持,需要在主Julia中进行更改,例如错误、堆栈跟踪、文档等。我当时正是本着这一想法创建的,还需要设置基础设施来帮助文档、网站和Julia本身的国际化和本地化。工作、家庭和当时不断发展的朱莉娅让我退了一步。这是我喜欢的另一个例子,它使用了这个包,它似乎是为Julia 1.0更新的。如果你开发出这样的东西,我很想看看!:)宏调用必须始终以
@
开头。这是一个经过深思熟虑的设计选择,以清楚地表明“代码重写魔术”发生的地方。所以,答案是否定的,是故意的。好吧,我想我们不能用做作的宏观扩张来达到这个目的。它们是其他能够实现特定目标的内置设施吗?据我所知不是。几年前我尝试过类似的方法,因为我想用西班牙语教不懂英语的小孩编程。当时我使用的是JuliaParser包:,它不再维护。朱莉娅从那时起改变了很多,但现在它有了一个稳定的版本,也许是时候再试一次了。对于完整的i18n支持,需要在主Julia中进行更改,例如错误、堆栈跟踪、文档等。我当时正是本着这一想法创建的,还需要设置基础设施来帮助文档、网站和Julia本身的国际化和本地化。工作、家庭和当时不断发展的朱莉娅让我退了一步。这是我喜欢的另一个例子,它使用了这个包,它似乎是为Julia 1.0更新的。如果你开发出这样的东西,我很想看看!:)