Как я определяю неявные операторы преобразования для взаимно зависимых записей?

Спасибо @IonutTrestian за то, что указал мне правильное направление.

$ctx.args было пусто, но я решил пойти вверх по цепочке, чтобы увидеть, что было во всем контексте, поэтому $util.error($util.toJson($ctx)).

Объект json, который я обнаружил, включал в себя маленький объект «Source», который содержал запрос возврата для объекта Book.

Короче говоря, $ctx.source.id применительно к моему запросу сработало очарование.

Я также знаю немного больше об отладчиках распознавателей DynamoDB на случай возникновения подобных проблем в будущем. Большое вам спасибо!

13
задан Rob Kennedy 7 March 2014 в 19:51
поделиться

1 ответ

Вы не можете иметь предварительные объявления для записи типы. Определите оба неявных оператора второго типа:

type
  TMyRec1 = record
    Field1 : Integer;
  end;

  TMyRec2 = record
    Field2: Integer;
    class operator Implicit(a: TMyRec2): TMyRec1;
    class operator Implicit(a: TMyRec1): TMyRec2;
  end;

Цитируя из справку :

Неявные преобразования должны предоставляться только там, где это абсолютно необходимо, и следует избегать рефлексивности. Лучше всего позволить типу B неявно преобразовывать себя в тип A, а тип A не должен знать тип B (или наоборот).

13
ответ дан 2 December 2019 в 00:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: