在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提供的内容有所不同,我们将不依赖注释。但是,它应该同样易于阅读和理解,可扩展且灵活。
非常感谢您的想法