Ada 中的派生类型和子类型

2023-11-26

有什么区别?


首先,术语:它是“Ada”,不是“ADA”——它是以“Ada Lovelace”命名的;它不是一个缩写词。

子类型与其基类型兼容,因此您可以将基类型的操作数与基类型的操作数混合。例如:

subtype Week_Days is Integer range 1..7;

由于这是一个子类型,您可以(例如)添加1到一个工作日以获得下一个工作日。

派生类型是完全独立的类型,具有与其基类型相同的特征。不能将派生类型的操作数与基类型的操作数混合。例如,如果您使用:

type Week_Day is new Integer range 1..7;

那么你会not能够将一个整数添加到一个工作日以获得另一个工作日。要对派生类型进行操作,您通常需要自己定义这些操作(例如,创建一个包)。同时,派生类型会“继承”其基类型的所有操作(甚至一些可能没有意义的操作),因此您仍然可以进行加法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ada 中的派生类型和子类型 的相关文章

  • 转换为具体类并调用 Java 中的方法

    假设我们有一个名为A和一些子类 B C D ETC 大多数子类都有这个方法do 但基类没有 班级AA提供了一个方法叫做getObject 这将创建一个类型的对象B or C or D等 但将对象作为类型返回A 如何将返回的对象转换为具体类型
  • 如何在 Ada 中直接访问内存地址?

    所以我是 Ada 的新手 我正在尝试在其中编写内核 但我似乎找不到任何关于如何正确执行此操作的好信息 在 C 语言中 我会这样写 unsigned char videoram char 0xB8000 videoram 0 65 直接访问视
  • D有“新类型”吗?

    D 是否有 newtype 如 Haskell 中 这是一个天真的问题 因为我只是浏览 D 但谷歌没有找到任何有用的东西 在 Haskell 中 这是一种在编译时使同一事物的不同类型变得不同的方法 但不会导致任何运行时性能损失 例如你可以为
  • IsPrimitive 不包含可为 null 的原始值

    我想检查类型是否是原始类型并使用以下代码 return type IsValueType type IsPrimitive 只要原始 int 可为空 这就可以正常工作 例如 int 如何检查该类型是否为可为空的原始类型 供参考 type I
  • 有什么好的 JavaScript 货币或小数类吗?

    我正在尝试处理 JavaScript 值 例如23 45 但我希望能够对这些值进行数学运算 加法 减法 乘法 除法 而不会遇到浮点问题 是的 有时我可能需要对结果进行四舍五入 但我希望它给出合理的答案 在 JavaScript 中考虑一下
  • Haskell 重叠/不连贯的实例

    我知道这段代码有点傻 但有人可以解释为什么吗isList 42 回报True然而isList2 42 prints False 以及如何防止这种情况发生 我想更好地理解一些更晦涩的 GHC 类型扩展 我认为这将是一个有趣的例子 LANGUA
  • C# 中的 String 和 string 有什么区别?

    这两者之间有什么区别 我应该使用哪一个 string s Hello world String s Hello world string https learn microsoft com en us dotnet csharp langu
  • 如何重构“字符串类型”代码?

    我目前正在开发一个代码库 其中有几类变量 例如数据库路径 它们简单地表示为字符串 这些 非 类型的大多数操作都在实用程序类中定义 我创建了一个新类来表示数据库 并将操作定义为实例方法 采用传统的 OOP 风格 然而 浏览大型代码库并重构它以
  • 具有特定深度的 TypeScript 递归类型

    TypeScript 允许您编写递归类型 但无法深入了解代码在较低级别 即深度 中如何变化 例如 下面的代码在所有级别上都具有相同类型的签名 并且我们必须在每个级别手动检查是否存在sub财产 type Recurse foo string
  • Maven 依赖类型 ejb 与 jar

    有什么区别
  • [“03C0”]如何匹配附件P中的语法?

    我正在编写一个工具来使用 2005 年附录 P 中提供的语法来解析 Ada 源文件 通过下面的代码 我知道 03C0 代表 希腊字母Pi 但它是合法的变量名吗 01 package Ada Numerics is 02 Pi constan
  • 运营商部分应用

    如果我想在字符末尾添加一个空格以返回列表 如果我不传递任何参数 我将如何通过部分应用程序来完成此操作 还有类型是 space Char gt Char 由于使用 和 运算符出现 解析错误 我在末尾添加空格时遇到问题 到目前为止我所拥有的是
  • “date $1”参数化查询中的 PostgreSQL 语法错误

    尝试参数化我的 SQL 查询 使用 libpq 函数PQexec参数 http www postgresql org docs current static libpq exec html 我陷入了语法错误 SELECT date 1 错误
  • 有人在实际应用程序中使用短和字节原始类型吗?

    我自 2004 年以来一直使用 Java 进行编程 主要是企业和 Web 应用程序 但我从来没有用过short or byte 而不是只是为了了解这些类型如何工作的玩具程序 即使在一个for loop100次 我们通常会选择int 我不记得
  • 类 GADT 类型变量的未来角色?

    A 昨天的问题 https stackoverflow com q 41135212 3072788有一个定义HList 来自HList https hackage haskell org package HList 0 4 1 0 doc
  • 我可以在 where 子句中使用 or ( || ) 吗?

    我正在尝试延长Array类型 但我只希望类型为时可用的函数Int or Float 我知道我可以针对一种类型执行此操作 extension Sequence where Iterator Element Int 但我可以对多种类型执行此操作
  • 为什么 textarea 不是 input[type="textarea"]?

    为什么有一个元素
  • DataFrame 中的字符串,但 dtype 是对象

    为什么 Pandas 告诉我我有对象 尽管所选列中的每个项目都是一个字符串 即使在显式转换之后也是如此 这是我的数据框
  • Scala Function.tupled 和 Function.untupled 等效于变量 arity,或者使用元组调用变量 arity 函数

    昨晚我试图围绕接受和调用通用函数做一些事情 即类型在调用站点上已知 但可能因调用站点而异 因此定义应该是跨参数通用的 例如 假设我有一个函数f A B C gt Z 其实这样的还有很多fs 我事先不知道 所以我无法确定类型或数量A B C
  • Java 泛型 - 重写抽象方法并具有子类的返回类型

    我正在尝试创建一个设置 其中一组子类覆盖超类 这个超类包含一个抽象方法 理想情况下 其返回类型是调用该方法的对象的返回类型 这样它的有效行为如下 public abstract class SuperClass public abstrac

随机推荐

  • 析构函数和垃圾收集器之间的区别

    我想知道析构函数和垃圾收集器之间有什么区别 析构函数用于在应用程序生命周期结束时处理所有未使用的对象 垃圾收集器的使用也是如此 垃圾收集器可以手动调用或完成在应用程序结束时 与析构函数相同 两者都是可选的 用于处理未引用的对象 任何人都可以
  • 使用自动属性实现单例是一个好主意吗?

    我最近发现了汽车属性并且非常喜欢它们 目前我正尝试在任何可以的地方使用它们 不仅仅是为了能够在任何地方使用它们 更多的是为了看看它们在大多数情况下的工作效果如何 现在我正在创建一个单例并想 嘿 让我们在这里也尝试一下自动属性 public
  • 使用 Winium 实现“Chrome Legacy Window”(Chromium) 的自动化

    我正在尝试使用 Winium 自动化 Windows 应用程序 GUI 该应用程序同时使用 WPF 窗口和 Chrome Legacy Window Chromium 窗口 我正在使用该工具 自动化间谍 检查 WPF 窗口内 GUI 元素的
  • PHP Codeigniter:下拉菜单上的 set_value

    我有以下观点 但我该如何申请set value没有默认为请选择
  • python中的“全局名称未定义”概念

    我正在学习Python并阅读了有关此错误的博客 但我仍然无法清楚地理解这一点 这是我正在编写的代码片段 for i in included global signs accounts regions global sign name acc
  • 使用 Windows 打印图像对话框打印图像

    我知道如何使用 PrintDocument 打印图像 但是 我想使用默认的 Windows 打印功能打印我的图像 就像当你右键单击图像并单击打印时 会出现一个对话框 允许你设置尺寸 选择打印机等 有谁知道如何在 C 中实现这一点 我必须使用
  • 如何将操作字符串传递到 JSF 2 复合组件中?

    我正在 JSF 2 中创建一个简单的菜单复合组件 但是 我无法将 String 属性传递到复合组件中以在 的操作属性中使用 我的组件看起来像
  • WCAG 2.0 A 级和 AJAX 生成的内容

    我很难找到明确的答案 如果网站以某种方式使用 AJAX 它是否可以至少通过 WCAG 2 0 A 级 For WCAG 2 0 示例 states 我可以使用 Javascript Ajax Flash PDF Silverlight 和其
  • 非有限差分值,很多数据经过指数化后变成inf和NA

    我将找到排序逻辑模型的参数 但误差总是表明存在非有限的有限差分值 如果我改变 b0 cjll lt function b U lt X b lSU lt csm exp U lSU lt lSU 0 lSU lSU 0 LL lt sum
  • ANDROID FirebaseDatabase:无法保存对象

    我无法将对象添加到 firebase 实时数据库 我尝试了以下代码 但是当这段代码执行时 db child Users setValue person 我的应用程序崩溃了 public class Person String fname S
  • 关于Java字符串池的问题[重复]

    这个问题在这里已经有答案了 考虑这段代码 String first abc String second new String abc 当使用new关键字 Java 将创建abc String又对吗 它会存储在常规堆上还是String水池 多
  • TextBox.Text += "字符串";与 TextBox.AppendText(“字符串”);

    这两种方法有什么区别 其中一个比另一个更有效率吗 我在想也许 AppendText 使用类似于 StringBuilder 的方法 即它使用自己的缓存而不是每次创建和附加新字符串 是真的吗 Thanks 正如中明确提到的MSDN 文档的备注
  • 预期的 EventLogQuery 时间格式?

    我正在尝试使用 EventLogQuery 类来查询事件日志 我按照上所示的示例进行操作http msdn microsoft com en us library bb671200 28v vs 90 29 aspx Y0 我在 Googl
  • 从 Web Api 控制器返回 http 状态代码

    我正在尝试返回未针对 Web api 控制器中的 GET 方法进行修改的状态代码 304 我成功的唯一方法是这样的 public class TryController ApiController public User GetUser i
  • C++ 奇怪的构造函数行为

    谁能向我解释一下两者之间的区别复合体a and 复数 b include
  • 将 IAM 角色与 PHP SDK 结合使用时出现问题

    我正在使用此脚本来填充 DynamoDB https docs aws amazon com amazondynamodb latest developerguide LoadDataPHP html 我使用 AWS 开发工具包时收到此错误
  • C# P/Invoke结构问题

    我正在尝试为 C API 本机 Win dll 编写 C P Invoke 包装器 通常工作正常 唯一的例外是 C 代码中采用结构体作为参数的特定方法 该函数被调用时没有任何异常 但它返回 false 表明执行过程中出现了失败 API头文件
  • 在 Angular 指令中嵌入将元素放入单个“范围”内

    这是我的指令 myapp directive envtable function return restrict E replace true transclude true template table class table table
  • NodeJS HTTP - 侦听 80 以外的其他端口

    我在 Windows 上运行 XAMPP 以在端口 80 上托管 Apache 服务器 现在我尝试在后台运行 NodeJS 脚本 但问题是它只能侦听端口 80 如果确实如此 一切都会正常运行应该 但我不能同时运行 Apache 因为 Apa
  • Ada 中的派生类型和子类型

    有什么区别 首先 术语 它是 Ada 不是 ADA 它是以 Ada Lovelace 命名的 它不是一个缩写词 子类型与其基类型兼容 因此您可以将基类型的操作数与基类型的操作数混合 例如 subtype Week Days is Integ