このコード ソースはコンパイルされません。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 でそれを作成する方法はありますか?
type User = { nom : string ; prenom : string }
un_user = { nom = "My_name" ; prenom = "My_last_name" } : User
champ = "nom"
do jlog(un_user.`champ`)
値のランタイム イントロスペクションの機能を含む OpaValue モジュールを使用して、Opa でランタイム マジックが可能です (タイプ セーフではありません)。
http://opalang.org/resources/doc/index.html#opavalue.opa.html/!/value_stdlib.core.OpaValue.Record
しかし、これはカジュアルなユーザー向けではなく、非常に危険なコーディング スタイルです。多くの場合、スクリプトや実行時に評価される言語に対応するコーディング スタイルで記述されたコードから必要になります。
あなたが何をしようとしているのかわかりません... nomフィールドを印刷する場合は、次のun_user
ことができます:
do jlog(un_user.nom)
動的な名前でレコードフィールドに本当にアクセスしたい場合、これはOpa(AFAIK)では実行できません。