EGL语言教程之一:变量与数据类型

EGL语言教程之二:表达式与操作符 表达式与操作符 1  表达式与操作符 一个表达式是由一系列操作符、操作数和特殊字符组成,并在运行时由EGL进行求值运算。操作数可以是常量、标识符或者关键字。EGL可以对以下几种表达式进行运算: 1.        逻辑表达式,可以被赋值为TRUE 或者 FALSE;参见“逻辑表达式”。 2.        数字和文本表达式,可以分别被赋值为数字或字符;参见“表达式类型”。 3. 阅读详情

变量与数据类型

计算机处理的对象是数据,而数据是以某种特定的形式存在的(例如整数、浮点数、字符等形式)。不同的数据之间往往还存在某些联系(例如由若干个整数组成一个整数数组)。数据结构指的是数据的组织形式。例如,数组就是一种数据结构。不同的计算机语言所允许使用的数据结构是不同的。处理同一类问题,如果数据结构不同,算法也会不同。例如,对10个整数排序和对包含10个元素的整型数组排序的算法是不同的。

 

1. 数据类型部分

EGL语言系统数据类型如下:

Primitive

这些是对所有的程序最基本的数字和字符类型;你不需要声明它们

Literals

值的直接表示

Dictionary

字典部分由键-值对组成

Exception

系统提供很多基本的异常;你可以自己定义其它的异常

Arrays

数组


1.1 基本数据类型(Primitive Type)

Primitive基本数据类型是标准的预定义类型,你可以用来作为变量,record域部分的基础。虽然确切的名字可能会有变化,但是大部分这些类型(比如INT)对于大多数编程语言是通用的。因为它们不基于任何别的类型,所以过程语言经常把这些类型称为“基础项”。Primitive类型包括下面的分类:字符、日期/时间、数字、逻辑、ANY。

字符数据类型

EGL提供大量的单字节,双字节和多字节字符的编码类型。下表是所有EGL语言字符类型定义:nt��gt�!78时间、数字、逻辑、ANY。

 

Primitive

大小

限制

数据类型

EDT支持情况

CHAR

1字节

CHAR(32767)

单字节

暂不支持

DBCHAR

2字节

DBCHAR(16383)

双字节

暂不支持

MBCHAR

1或者2字节

MBCHAR(32767)

MBCS数据。因为第一个字节属于保留设置被认成双字节字符。在单字节里指定长度。

暂不支持

STRING

可变化的

16,383 字符字符字符

Unicode (UTF-16编码)字符

支持

UNICODE

2字节

UNICODE(16383)

Unicode (UTF-16编码)字符

 

暂不支持

HEX

4位

HEX(65534)

十六进制数字0-9和A-F

暂不支持

  其中String类型是目前EDT全面支持的一种,包括Java Generation和JavaScript Generation。其他类型只在语言内核中支持,并未支持目标语言生成。

下例是字符串类型变量的声明

myVarString STRING;

如果需要用到一些特殊的字符的转义符,请参考下表:

转义符

字符名

\″

双引号

\\

反斜杠

\t

制表符

\r

回车符

\f

换行

\n

换行

\b

回车

 下面的例子包括一个换行符:

var1 String = "This is a string \n that will appear on two lines."


日期/时间 类型

以下是EGL语言支持的日期/时间基本数据类型,目前EDT支持DATE和TIMESTAMP两种类型:

 

Primitive

大小

数据格式

EDT支持情况

DATE

8位

yyyyMMdd

Java/JavaScript

INTERVAL

1到21位

基于掩码

Not Support

TIME

6位

HHmmss

Not Support

TIMESTAMP

1到20位

基于掩码

Java/JavaScript

 

Date类型示例:

date1 date;
date1 = "10/11/1983";


TimeStamp类型示例:

ts1 timeStamp?;
ts2 timeStamp("yyyyMMddHHmmssffffff");
ts3 timeStamp("yyyyMM");
ts4 timeStamp("HHmmss");
ts5 timeStamp("MMdd");

ts1 = "1988-10-10 08.32.00.123000";
ts2 = "19881010083200123000";
ts2 = "1988-10-10 08.32.00.123000";
ts3 = "198810";
ts3 = "1988-10";
ts4 = "083200";
ts4 = "08.32.00";
ts5 = "0822";
ts5 = "08-22";

数字类型

EGL提供大量的数字数据类型。一些数字类型(比如BIGINT或者FLOAT)自动地表示长度和十进制小数点的位置。一些别的数字类型(DECIMAL),你需要指定长度和十进制小数点后的位数,看看下面的例子:

 

Primitive

大小

制定长

EGL单元测试框架EUnit介绍 EGL单元测试框架EUnit介绍 1、Eunit是什么 EUnit的全称是EGL单元测试框架(EGLUnit Testing Framework)。它是一个简单的开源测试框架,用于编写和运行可重复的EGL测试用例。EUnit的特征包括: 用来生成测试程序和运行测试用例的工具 支持手动和自动 可随时运行(如用于nightlybuild的测试) 图形和命令行 阅读详情

相关推荐

三、OpenGL ES GLSL语言 & 自定义着色器常用API

OpenGL ES GLSL语言 EGL(Embedded Graphics Library) OpenGL ES 命令需要渲染上下⽂和绘制表面才能完成图形图像的绘制 渲染上下⽂: 存储相关OpenGL ES状态,是一个状态机 绘制表面:⽤于绘制图元的表面,需要指定渲染的缓存区,例如颜⾊缓、深度和模板 OpenGL ES API 并没有提供如何创建渲染上下文或者上下文如何连接到原生窗口系 统. EGL 是Khronos 渲染API(如OpenGL ES) 和原⽣窗⼝系统之间的接⼝. 唯⼀支持 OpenGL

lin1109221208的博客 893

解决Linux下EGL与X11视觉配置不匹配的图形渲染问题

在Linux图形开发中,EGL作为OpenGL/OpenGL ES与原生窗口系统间的桥梁,其核心作用是为GPU硬件加速渲染提供统一的接口。其工作原理是通过EGL Config与底层窗口系统的视觉配置进行匹配,从而创建有效的渲染表面。这一机制的技术价值在于实现了跨平台的图形API标准化,使得移动和嵌入式设备的图形应用能够移植到桌面环境。然而,在传统的X11窗口系统下,EGL Config与X11 Visual的匹配问题,特别是深度和颜色格式的不兼容,常导致应用无法利用硬件加速,甚至触发“unable to f

weixin_33788244的博客 379

OpenGL ES之着色语言GLSL的使用说明及API

EGL(Embedded Graphics Library) 一、概念说明 OpenGL ES 命令需要渲染上下文和绘制表面才能完成图形图像的绘制。 渲染上下文: 存储相关OpenGL ES 状态。 绘制表面: 是⽤于绘制图元的表面,它指定渲染所需要的缓存区类型,例如颜⾊缓存区、深度缓冲区和模板缓存区。 OpenGL ES API 并没有提供如何创建渲染上下⽂或者上下文如何连接到原⽣窗⼝系统。 EGL 是Khronos 渲染API(如OpenGL ES) 和原生窗⼝系统之间的接⼝。 唯⼀支持OpenGL

╰つ栺尖篴夢ゞ 839

EGL教程(中文全集)

IBM开源的高级业务应用编程语言,SOA、Android开发等跨平台应用开发

EGL 编程指南

IBM Rational EGL 语言说明 RBD产品

RC滤波电路工作原理:【带图+公式计算】

容抗Xc和电容C成反比,和频率f也成反比,C越大,交流电容易通过电容,说明电容量大,电容的阻碍作用小;交流电的频率高,交流电也容易通过电容,说明频率高,电容的阻碍作用也小。我们可以看到,一个2V的纹波,经常RC电路后,幅值下降到mv级别,基本可以忽略不计,这就是RC滤波电路的工作原理。一个频率为1Khz的信号,通过一个容值为0.1uf的电容,计算电容对该信号产生的阻抗。将RC滤波器电路中的电阻,取值为1KΩ,电容取值为0.47uf,纹波幅值为2V。从公式1可以看到,Xc越大,Vout值就越接近Vin的值。

weixin_66299220的博客 2万+

ESP8266连接阿里云(STM32)

一、概述 之前通过串口调试助手+ESP8266已经连接上阿里云了 ESP8266连接阿里云(串口调试助手) 这次我们使用STM32+ESP8266来接入阿里云,其实本质上就是STM32和ESP8266进行串口通信,相当于使用STM32代替之前使用的串口调试助手来发送AT指令。只是发送的字符串数据可能有些细节需要注意一下。 二、保存连接的AT指令 定义几个字符串数据保存需要发送的AT指令 //注意: //末尾记得加\r\n //字符...

xyx0610的博客 4万+

STM32CubeMX最新版下载安装全攻略(附官网访问问题解决方案)

本文提供了STM32CubeMX最新版的详细下载与安装指南,并针对国内开发者常见的官网访问缓慢、注册验证邮件延迟等问题,给出了实用的解决方案和备选策略。通过清晰的步骤解析,帮助用户快速部署这一强大的STM32图形化配置工具,从而高效启动嵌入式开发项目。

weixin_28256233的博客 196

PSpice 导入 LTspice 仿真实验 --(如何解决PSpice模型无法使用的错误)

参考了网上第三方器件导入LTspice的博客和资料,不论是哪个公司下载的SPICE模型导入LTspice的方法都类似。如果遇到导入报错的情况可以先看一下报错提示,如果通过语法修改实现功能的则说明可以进行仿真,当然性能可能与官方给的模型存在一点出入,但做一个基本的功能验证本人认为还是可以的,总比做出板子用不了或者完全不匹配的要好一些。

伊丽莎白的学习之路 9005

告别以太网瓶颈:手把手教你为AI训练集群搭建InfiniBand网络(以NVIDIA DGX A100/H100为例)

本文详细指导如何为AI训练集群搭建InfiniBand网络,解决以太网瓶颈问题,特别针对NVIDIA DGX A100/H100系统。通过硬件选型、网络架构设计和性能调优,显著提升多机多卡训练效率,适用于大规模模型训练场景。

weixin_30336061的博客 311

SAP 凭证分割功能 - 概述&系统配置 - Chapter01/02

为何要进行凭证拆分(分割)?在启用凭证分割之前, 在财务凭证在过账时会自动带出默认的利润中心,这利 润中心一般是从其他对象派生出来的(比如从成本中心、WBS 或资产负债表科 目定义默认的利润中心等),但是某些情况下的财务过账是不会派生出利润中 心的,比如说应收或者应付。如果一笔销售凭证上有两个行项目,10 行对应的成品物料 A 的利润中心为 TPCA-100;公司项目Dr/Cr科目金额利润中心10001Dr应收账款20002Cr库存商品A1500TPCA-1003Cr。

weixin_46525734的博客 3971

DeepQA: A Unified Transcriptome-Based Aging Clock Using Deep Neural Networks

摘要: 本研究针对转录组衰老时钟存在的关键局限——仅在健康样本训练导致对患病个体预测偏差的问题,提出DeepQA,一种基于专家混合架构与新型Hinge-MAE损失函数的深度学习模型。通过同时利用健康与患病个体的异质数据训练,DeepQA显著提升预测精度:在健康个体上MAE比现有方法低1.5年,且是首个能正确处理五类疾病条件的模型。其创新性体现在: 方法学突破:Hinge-MAE损失函数消除健康/患病样本的训练偏差,专家混合架构高效整合多队列数据; 流程革新:摒弃传统基因预筛选步骤,通过显著图分析直接识别衰老

qq_44050612的博客 125

飞牛NAS1.1.19更新后SSH连不上?两步快速恢复连接

飞牛NAS1.1.19版本更新后SSH无法连接😟,实则是官方安全策略升级默认关闭了该服务,本文分享两步实操配置恢复SSH连接💻,还同步了官方的设备安全配置建议,帮助用户兼顾使用与设备防护🔒。

XiaoqiangClub的博客 2106

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: EGL实用进阶教程
下一篇: EGL语言教程之二:表达式与操作符
RationalGroup
博客等级 码龄18年 56粉丝 57原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值