Julia 相当于Java注释
在Java中,我可以执行以下操作:Julia 相当于Java注释,julia,metaprogramming,Julia,Metaprogramming,在Java中,我可以执行以下操作: @file_pattern("**/BILLING*.csv") @format("fixed") @encoding("latin-1") @missing_end_of_record_fields_supported: yes @header: yes @comment_char: "#" @lineending("auto") @BOM: yes @max_errors: 5 Class BillingRecord extends BaseRecord
@file_pattern("**/BILLING*.csv")
@format("fixed")
@encoding("latin-1")
@missing_end_of_record_fields_supported: yes
@header: yes
@comment_char: "#"
@lineending("auto")
@BOM: yes
@max_errors: 5
Class BillingRecord extends BaseRecord
@pos(1, 5)
@strip("left")
@minmax(1, 19999, "error") // "warn" only warn, but don't increase error count
@pattern(r"\d+", "error")
int ID;
@pos(6, 10)
@strip("left")
@decode // from "latin-1" to utf-8
String name;
并使用注释生成所需的(优化的)源代码。这是一个简单的示例,稍后我们将扩展到ETL工作流/流程。我查看了Julia的元编程和宏功能,但很难找到与用例类似的具体示例
如果Julia提供了不同的东西,我们就不依赖注释。然而,它应该同样易于阅读和理解、可扩展和灵活
非常感谢您的想法尽管CSV.jl有办法指定您所说的java的annotations类在指定CSV数据字段时可以做的大部分事情,但我不知道有哪种Julia宏能够准确地完成注释的功能。这应该是可能的,但是afaik还没有完成。在这里找到了一个关于注释的很好的讨论。如前所述,我对解决问题的其他方法持开放态度,只要它同样易于使用和可读。由于上面的例子是Java(大多数注释都在运行时应用),我想指出,我更喜欢编译时解决方案。尽管CSV.jl有方法指定Java的annotations类在指定CSV数据字段时可以做的大部分事情,但我不知道有哪种Julia宏能够准确地执行注释所做的事情。这应该是可能的,但是afaik还没有完成。在这里找到了一个关于注释的很好的讨论。如前所述,我对解决问题的其他方法持开放态度,只要它同样易于使用和可读。因为上面的例子是Java(大多数注释都是在运行时应用的),所以我想指出,我更喜欢编译时解决方案。