此代码源无法编译,有没有办法在OPA中生成?
type User = { nom : string ; prenom : string }
un_user = { nom = "My_name" ; prenom = "My_last_name" } : User
champ = "nom"
do jlog(un_user.`champ`)
答案 0 :(得分:3)
运行时魔术可以在Opa中使用OpaValue模块,该模块包含运行时内省值的功能(非类型安全)
http://opalang.org/resources/doc/index.html#opavalue.opa.html/!/value_stdlib.core.OpaValue.Record
但这不适合休闲用户,而且是一种非常危险的编码风格。 通常需要来自以与脚本和运行时评估语言相对应的编码样式编写的代码。
答案 1 :(得分:1)
我不确定你要做什么...如果要打印un_user
的nom字段,那么你可以这样做:
do jlog(un_user.nom)
如果您真的想要使用动态名称访问记录字段,则无法在Opa(AFAIK)中完成此操作。