Эквивалентно аннотациям Java - PullRequest
0 голосов
/ 01 июля 2019

В 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. Я посмотрел на возможности метапрограммирования и макропрограммы Джулии, но изо всех сил пытался найти конкретные примеры, подобные сценарию использования.

Мы не полагаемся на аннотации, если Юлия предоставляет что-то другое. Однако он должен быть одинаково легко читаемым и понятным, расширяемым и гибким.

Большое спасибо за ваши идеи

...