当前位置: 首页 > article >正文

Heptagon record 数据结构

Heptagon 语言支持 record 数据结构。record 数据结构与 Scade struct 数据结构相似。对 record 结构的操作支持结构构造、record 成员访问,record 成员修改。

record 结构构造的形式如 {f1 = val; f2; val2}。使用样例如

type
  t = {f1:int; f2:bool}
fun recordDef() returns (o: t)
let
  o = {f1 = 1; f2 = true};
tel

在该例子中,{f1 = 1; f2 = true} 为构造 record 的表达式。

record 成员访问的形式如 record . field。使用样例如

type 
  t = {f1:int; f2:bool}

fun fieldAccess(i: t) returns (o: int)
let
  o = i.f1;
tel

在该例程中,i.f1 为访问 record i 中的 field f1

record 成员修改的形式如 { record with . field = new_val}。该表达式输出 field 更新后的 record。

使用样例如

type 
  t = {f1: int; f2: bool}

fun modifyField(i: t) returns (o: t)
let
  o = { i with .f1 = 42 };
tel

http://www.kler.cn/a/528808.html

相关文章:

  • 主流的AEB标准有哪些?
  • RK3568 opencv播放视频
  • 详解u3d之AssetBundle
  • 一文讲解Java中的异常处理机制
  • docker配置mysql并使用mysql connector cpp编程
  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(动态菜单组件实现)
  • SAP物料分类账相关后台配置、准备工作
  • 【token】【1】零基础token pipline快速实战
  • AI生成产品原型与设计稿:我的工具使用心得与推荐
  • Vue.js `Suspense` 和异步组件加载
  • 当WebGIS遇到智慧文旅-以长沙市不绕路旅游攻略为例
  • linux 函数 sem_init () 信号量、sem_destroy()
  • 【react+redux】 react使用redux相关内容
  • langchain 实现多智能体多轮对话
  • 什么情况下,C#需要手动进行资源分配和释放?什么又是非托管资源?
  • 无心剑七绝《深度求索》
  • 数据密码解锁之DeepSeek 和其他 AI 大模型对比的神秘面纱
  • 解锁Linux共享内存:进程通信的极速引擎
  • 人机交互系统实验二 图形用户界面的设计
  • 代码练习3
  • 知识图谱中如何做种子对齐?
  • 步进电机的型号和分类
  • 浅析CDN安全策略防范
  • SCRM系统如何提升客户管理及业务协同的效率与价值
  • Python-基于PyQt5,wordcloud,pillow,numpy,os,sys的智能词云生成器
  • 2025.2.1——四、php_rce RCE漏洞|PHP框架