vector - 如何在 Ada 中添加向量
问题描述
我有一个表示坐标的 (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);
-
当你定义类似的使用时要小心-
!这个错误很难发现。
推荐阅读
- reactjs - ReactJS Martial UI - 自动完成组件被填充但 onclick 没有过滤我的表格
- amazon-web-services - 允许负载平衡的自动缩放实例连接到互联网 - AWS / Terraform
- sql - SQL 查询以获取 2D 表中事件的按月计数
- json - pandas json_normalize 列创建为 dtype 对象
- c# - 错误 1053:服务未使用 FileSystemWatcher 及时响应启动或控制请求
- python - 根据多个匹配列生成值列表
- android - 如何在安装和打开应用程序后立即设置3个连续的权限请求?
- javascript - 如何使粘贴的 HTML 在编辑器中被识别为 Blot?
- shell - 尝试使用 QCTools_V2 时如何解决“错误 (genfile::MalformedInputError)”的问题
- r - 在数据表中汇总多重回归的结果