Julia 相当于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

在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

    @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(大多数注释都是在运行时应用的),所以我想指出,我更喜欢编译时解决方案。