vector - 如何在 Ada 中添加向量

标签 vector ada gnat-gps

我有一个表示坐标的形式为 (x,y,x) 的向量。我希望能够执行类似 (x,y,z) + (x2,y2,z2) 的操作来生成一组新坐标。 Ada 说它不能对复合类型使用“+”,但我肯定有办法做到这一点?

最佳答案

如果你有

type Vector is record
   X : Float;
   Y : Float;
   Z : Float;
end record;

你可以定义+

function "+" (L, R : Vector) return Vector is
  (L.X + R.X, L.Y + R.Y, L.Z + R.Z);

在定义 - 时要小心,就像在整个过程中使用 - 一样!该错误非常难以发现。

关于vector - 如何在 Ada 中添加向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63948479/

相关文章:

c++ - 在构造函数中初始化 vector - C++

android - 在 ImageView 中设置 Vector Drawable 导致应用程序在旧 SDK 中崩溃

ada - 如何在 Ada 中读取大文件?

ada - 使用 Digilent Zybo 开发板在 Zynq 上运行 Ada

macos - 无法编译和运行简单的 Ada 应用程序

c++ - 在不复制的情况下构造一个范围内的 vector

c++ - 根据条件拆分 STL 列表

arrays - 如何访问 ada 中 JSON 数组的特定位置?

dictionary - Ada 中是否预先实现了 "dictionary"类型?以及如何使用它?

vim - 尝试从标签文件打开引用时,如何告诉 vim 搜索某个目录(以及当前目录)?