Mapping for User-Defined Types
Mapping for Enumerations
enum Fruit { Apple, Pear, Orange };
The generated Ruby class looks as follows:
class Fruit
include Comparable
Apple = # ...
Pear = # ...
Orange = # ...
def Fruit.from_int(val)
def to_i
def to_s
def <=>(other)
def hash
# ...
end
Given the above definitions, we can use enumerated values as follows:
f1 = Fruit::Apple
f2 = Fruit::Orange
枚举类型变成了ruby的类,通过类方法访问枚举的属性
Mapping for Structures
struct Employee {
long number;
string firstName;
string lastName;
};
The Ruby mapping generates the following definition for this structure:
class Employee
def initialize(number=0, firstName='', lastName='')
@number = number
@firstName = firstName
@lastName = lastName
end
def hash
# ...
end
def ==
# ...
end
def inspect
# ...
end
attr_accessor :number, :firstName, :lastName
end
结构体变成了ruby的类,通过实例方法访问结构体的属性
Mapping for Sequences
sequence<Fruit> FruitPlatter;
We can use the FruitPlatter sequence as shown below:
platter = [ Fruit::Apple, Fruit::Pear ]
platter.push(Fruit::Orange)
Fruit序列变成了ruby中的数组,元素的class是Fruit
Mapping for Dictionaries
dictionary<long, Employee> EmployeeMap;
As for sequences, the Ruby mapping does not create a separate named type for
this definition. Instead, all dictionaries are simply instances of Ruby’s hash
collection type. For example:
em = {}
e = Employee.new
e.number = 31
e.firstName = "James"
e.lastName = "Gosling"
em[e.number] = e
dictionary怎么翻译,字典?呵呵。反正对应ruby是hash。
Mapping for Constants
const bool AppendByDefault = true;
const byte LowerNibble = 0x0f;
const string Advice = "Don't Panic!";
const short TheAnswer = 42;
const double PI = 3.1416;
enum Fruit { Apple, Pear, Orange };
const Fruit FavoriteFruit = Pear;
The generated definitions for these constants are shown below:
AppendByDefault = true
LowerNibble = 15
Advice = "Don't Panic!"
TheAnswer = 42
PI = 3.1416
FavoriteFruit = Fruit::Pear
很容易理解。
分享到:
相关推荐
在Ruby中调用ICE接口,可以让开发者利用ICE的强大功能来构建分布式系统。 描述中的“Ruby - language - ITeye论坛”表明这是一个关于Ruby编程语言的讨论,具体涉及如何在ITeye论坛上分享的关于Ruby调用ICE接口的...
在核心概念的后续章节中,文档介绍了ICE模块的具体使用方法,包括名字与作用域的定义、元数据使用等。同时,通过slice编译器的使用案例,使读者对Slice语言的使用有一个直观的认识。 从编程语言映射的角度看,文档...
在数据结构中,数组、链表、树、图等是最基本的概念。数组是指一组元素的集合,链表是一种动态分配内存的数据结构,树是一种非线性数据结构,图是一种复杂的数据结构。 3. 算法设计思路:面向交流、面向阅读 在该...
然后,通过"Hello World"应用的实现,展示了Ice在C++和Java中的基本使用方法。接下来,深入讨论了Slice语言,这是Ice中的接口定义语言,类似于CORBA的IDL。Slice语言用于定义数据类型、接口、操作和异常,并具有自己...
- **客户端和服务端结构(Client and Server Structure)**:描述了如何在不同编程语言中构建Ice应用程序的基本结构。 - **Ice协议概述(Overview of the Ice Protocol)**:解释了Ice通信协议的工作原理及其特性...
理解并掌握ICE源码有助于我们深入学习数字图像处理,不仅能应用在冈萨雷斯的教材中,也能灵活运用到实际项目中。通过阅读和分析ice.m文件,我们可以学习到MATLAB在图像处理领域的强大功能,以及如何利用这些功能实现...
根据提供的文件信息,本文将重点探讨数据湖技术Iceberg的核心概念、优势以及其在实际应用场景中的价值,并结合Flink等工具进行深入分析。 ### 数据湖技术Iceberg简介 #### Iceberg是什么? Iceberg是一种用于构建...
综上所述,Iceberg 作为一款开源的数据湖技术,不仅解决了传统数据处理中存在的诸多问题,还提供了丰富的功能支持,包括但不限于数据存储与计算引擎插件化、实时流批一体化处理、灵活的表结构演变、模式演化以及分区...
这个压缩包采用tar.gz格式,这是一种在Linux和Unix系统中常用的文件打包和压缩方式。通过`rpm -ivh Ice-3.5.1-el6-x86_64-rpm.tar.gz`命令,用户可以安装这个压缩包中的所有组件。 标签 "Ice" 指的是这个软件的主要...
在本资料包中,"ICE"可能是ICE教程和手册的合集,可能包括了各种格式的文件,如PDF文档、源代码示例、甚至是视频教程。这些内容将系统性地介绍ICE的各个方面,从基本概念到高级特性的实现,帮助用户从零开始学习并...
通过ICE IDL,开发者可以声明服务接口,定义数据结构,并将其编译成不同语言的绑定。 4. **ICE编译器和工具链**:ICE提供了一套完整的工具链,包括编译器、代码生成器和调试工具,帮助开发者快速地将IDL转换为实际...
ice_nine, 深冻结 ruby 对象 ice_nine深冻结 ruby 对象 示例require 'ice_nine'# Deep freezes most kinds of objectshash = IceNine.dee
**ICE中间件中文手册概述** ICE(Integration, Communication, and Embedding...通过深入学习手册,开发者可以有效地利用ICE构建高效、可靠的分布式系统,无论是在企业级应用还是科研项目中,ICE都能提供强大的支撑。
Ice是RPC通讯领域里最稳定、强大、高性能、跨平台、多语言支持的老牌开源中间件,特别适合于当前互联网领域中一个平台存在多种开发语言编程,以及网站和app应用并存的复杂大型项目。 RPC(Remote Procedure Call ...
标题中的"Flink如何实时分析Iceberg数据湖的CDC数据"主要关注的是使用Apache Flink进行实时数据处理,以及如何在Apache Iceberg数据湖环境中处理Change Data Capture (CDC)数据。Apache Flink是一款开源流处理框架,...
### ICE中间件在机器人中的应用 #### 摘要与背景 本文由Molaletsa Namoshe等人撰写,探讨了ICE(Internet Communications Engine)中间件在机器人技术领域的应用及其重要性。随着近年来自主多机器人系统的发展,...
安装这些组件后,开发者可以在RHEL5环境中轻松地构建分布式系统,利用ICE的强大功能进行跨进程、跨网络甚至跨平台的通信。ICE支持透明的网络透明性,这意味着开发者无需关心底层网络细节,只需关注业务逻辑。此外,...
2. **实时通信**: 由于其低延迟和高吞吐量,Ice在实时游戏和物联网(IoT)应用中表现优异。 3. **微服务架构**: Ice的轻量级和高性能使其成为构建微服务的理想选择。 4. **跨语言通信**: 支持多种编程语言(如C++, ...
ZeroC公司提供了丰富的文档、教程和论坛,以帮助开发者解决在使用Ice过程中遇到的问题。 ### 冰山一角:Ice概述 #### 2.1 章节概览 第二章提供了Ice框架的全面概述,涵盖了其架构、服务、架构模式和设计原则。这...
本章概述了 ICE 的基本概念及其在分布式系统中的作用。 #### 2.2 Ice 架构 ICE 的架构设计是其成功的关键之一,它包括以下几个核心组件: - **Ice 运行时环境**:负责管理 ICE 应用程序的生命周期。 - **Ice 通信...