Пользовательская операция выражения вычисления с несколькими параметрами - PullRequest
0 голосов
/ 27 сентября 2018

Я создаю DSL для диаграмм моделей C4. 1-й удар здесь Я решил, что было бы разумнее разделить концепции программного обеспечения и схему.Это означает, что положение на холсте нужно назначать только при создании диаграммы.

Поэтому, когда я попытался добавить позицию в аргументы пользовательской операции, я не могу понять, как использовать ее в выражении вычисления.

Новый построитель выглядит следующим образом:

type SystemLandscapeDiagramBuilder internal (scope, desc, size) =
    member __.Yield(_) : SystemLandscapeDiagram = 
        SystemLandscapeDiagram.init scope desc size

    [<CustomOperation("user")>]
    member __.User(diagram, user, pos) : SystemLandscapeDiagram =
        diagram |> SystemLandscapeDiagram.addPerson user pos

Ошибка компилятора Эта управляющая конструкция может использоваться только в том случае, если построитель выражений вычислений определяет метод 'For'

Возможно ли иметь несколько аргументов?Идеи о том, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...