ada - 将数组的切片分配给新数组
问题描述
我的语法错误,但似乎找不到关于我的问题的正确语法的信息页面。我有一个正在处理的函数,它接收一个数组,我想对该数组的一个切片进行一些计算,所以我想从传入的数组创建一个切片数组,特别是那些索引。有人可以帮我解决这里的语法吗,因为这个一直告诉我missing ','
p1: UnboundArray(1 .. 15);
p1DataBits: UnboundArray(1 .. 7);
begin
p1DataBits := (p1(3 | 5 | 7 | 9 | 11 | 13 | 15));
end;
解决方案
另一个不需要昂贵连接的解决方案是分配一个直接的、显式的数组表达式:
procedure Odds is
type UnboundArray is array (Integer range <>) of Integer;
p1: UnboundArray(1 .. 15);
p1DataBits: UnboundArray(1 .. 7);
begin
p1DataBits := (p1(3), p1(5), p1(7), p1(9), p1(11), p1(13), p1(15));
end;
推荐阅读
- svelte - 在 Svelte 中禁用环绕链接
- linux - 如何在不同服务器上的另一个 shell 脚本中运行 shell 脚本?
- python - 在 docker 容器中安装 yfinance python 包
- tomcat - 使用 openssl 为 tomcat 生成 ssl 证书会创建 firefox 不喜欢的“DSA”
- rust - 折叠字符串以在 rust 中构建 hashmap 字符计数器,但给出两阶段借用错误
- javascript - 如何通过在 JS 中对消息进行分组来推送到子数组?
- puppet - 服务是否可以通知 Puppet 中的另一个资源?
- apache-kafka - 如何使用运行多个实例的 Kafka Streams 进行主题级排序/计数
- python - 如何修复此错误:在 Mallet 中返回非零退出状态 1?
- c# - 将 DatePicker DialogFragment 设置为特定日期