Доступ к полю записи - PullRequest
1 голос
/ 06 июля 2011

Этот исходный код не компилируется, есть ли способ сделать это в OPA?

type User = { nom : string ; prenom : string }
un_user = { nom = "My_name" ; prenom = "My_last_name" } : User
champ = "nom"
do jlog(un_user.`champ`)

Ответы [ 2 ]

3 голосов
/ 06 июля 2011

Магия времени выполнения возможна в Opa, используя модуль OpaValue, который содержит функцию для самоанализа во время выполнения значений (небезопасно)

http://opalang.org/resources/doc/index.html#opavalue.opa.html/!/value_stdlib.core.OpaValue.Record

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

1 голос
/ 06 июля 2011

Я не уверен, что вы пытаетесь сделать ... если вывести поле nom un_user, вы можете сделать:

do jlog(un_user.nom)

, если вы действительно хотите получить доступ к полю записис динамическим именем, то это не может быть сделано в Opa (AFAIK).

...