Этот исходный код не компилируется, есть ли способ сделать это в OPA?
type User = { nom : string ; prenom : string } un_user = { nom = "My_name" ; prenom = "My_last_name" } : User champ = "nom" do jlog(un_user.`champ`)
Магия времени выполнения возможна в Opa, используя модуль OpaValue, который содержит функцию для самоанализа во время выполнения значений (небезопасно)
http://opalang.org/resources/doc/index.html#opavalue.opa.html/!/value_stdlib.core.OpaValue.Record
Но это не для случайного пользователя,и очень опасный стиль кодирования.Часто возникает необходимость в коде, написанном в стиле кодирования, соответствующем сценариям и языку, оцениваемому во время выполнения.
Я не уверен, что вы пытаетесь сделать ... если вывести поле nom un_user, вы можете сделать:
un_user
do jlog(un_user.nom)
, если вы действительно хотите получить доступ к полю записис динамическим именем, то это не может быть сделано в Opa (AFAIK).