在C#中可能有一个动态对象,其中包含使用expando对象在运行时定义的字段。例如:Julia支持动态的“expando对象”a la C#?
dynamic contact = new ExpandoObject();
contact.Name = “Patrick Hines”;
contact.Phone = “206-555-0144”;
正如你所看到的,接触对象是动态的,在这个意义上,我们可以设置的对象字段,而无需事先声明对象的结构。我在茱莉亚明白,我们可以有一个参数/变量不声明的类型,如:
function setProp1(obj) obj.prop1=1 end
但是,据我了解,在OBJ对象必须从一个字段为prop1一个类型创建。如果prop1未作为字段声明,则setProp1不能动态设置字段prop1。如果我想要充分的活力,并且我不想担心表现,有没有办法在Julia中创建“expando物体”?
[本页](https://docs.julialang.org/zh/release-0.4/manual/noteworthy-differences/)建议使用['dict'](https://docs.julialang.org/ EN /释放-0.4/STDLIB /收藏/#Base.Dict)。 *“Julia的类型不支持在运行时动态添加字段。”* –
我希望有一天会创建更方便的语法。 la expando对象的语法可以帮助来自python或其他完整动态语言的人员。 – gabomgp
@RobertHarvey你链接的旧文档(0.4)稳定的一个(现在0.6)是 - > https://docs.julialang.org/en/stable/manual/noteworthy-differences/(例如有12个记录与Python 0.4,只有10在0.6)请编辑您的评论,我会删除我的:) – Liso