首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以操纵对象属性的静态语言?

可以操纵对象属性的静态语言?
EN

Stack Overflow用户
提问于 2011-08-27 11:59:37
回答 1查看 53关注 0票数 1

在处理异构数据时,需要对保存数据的简单对象进行部分更改。例如,您可能想要添加、删除或重命名属性,或者连接两个对象。这在动态语言中很容易,但我想知道静态语言是否有什么聪明的解决方案?

为了修正想法,有没有任何语言可以通过某种静态的混合语法来实现这样的东西(C#):

代码语言:javascript
复制
var hello = new { Hello = "Hello" };
var world = new { World = "World" };
var helloWorld = hello + world;
Console.WriteLine(helloWorld.ToString());
//outputs {Hello = Hello, World = World}

这看起来当然是可能的,因为没有使用运行时信息。是否存在具有此功能的静态语言?

添加:

我正在考虑的有限版本是F#的copy-and-update record expression

代码语言:javascript
复制
let myRecord3 = { myRecord2 with Y = 100; Z = 2 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-27 12:54:21

您所描述的内容在编程语言研究中称为记录连接。已经有一些关于记录连接的静态类型系统的工作,主要是在像Haskell或ML那样的自动类型推断的上下文中。据我所知,它还没有对任何主流编程语言产生影响。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7212460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档