4
1は、次のコードのようなオブジェクトに新しい属性を追加するsetattr
を使用することができますジュリアタイプに新しいフィールドを追加するには? Pythonで
class Foobar:
def __init__(self):
pass
foobar = Foobar()
setattr(foobar, 'foo', 123)
print(foobar.foo)
出力
123
私はジュリアに知っsetfield!ありますが、それは追加することはできません。 Pythonでsetattr
のような新しいフィールド。
私の質問は、複合型のオブジェクトに新しいフィールドを追加する方法がありますか?
言語間の抽象化は常に1-1の方法でマッピングされるとは限りません。おそらくJulia Dictを使用し、新しいキー ':foo'を追加することで、あなたが必要とするダイナミズムが得られます。そうでない場合は、この機能の使用方法を明確にすることができますか? –
物事が1-1の方法でマッピングされていないことが真実だと思われます。私が何を計画しているのかは、特定の条件が満たされている場合に属性を追加することです。後で存在するかどうかを確認できます。あなたが提案したことはそれを達成しているように見えますが、属性値を 'nothing'で定義することも考えています。その値が' nothing'か 'true'かどうか、' nothing'の他の値かどうか確認できます。どう思いますか? – Mis94
あなたはそれが型安定であることを望んでいるでしょう。 'true/false'のいずれか、またはNullableを使用します。 –