=>在Ada中是什么意思?

时间:2019-03-08 21:34:15

标签: ada ada95

我了解何时以及如何在Ada中使用=>,特别是在使用关键字“其他”时,但我不确定其适当的名称以及如何以及为什么创建它。 Ada的历史和发展对我来说非常有趣,任何人对此的见识,我将不胜感激。

3 个答案:

答案 0 :(得分:2)

=>称为箭头。它可与任何形式的参数一起使用,而不仅与参数“其他”一起使用。

Ada参考手册的6.4节规定:

  

parameter_association :: = [formal_parameter_selector_name =>]   explicit_actual_parameter

     

explicit_actual_parameter :: =表达式| variable_name

     

parameter_association的名称或位置取决于是否   未指定formal_parameter_selector_name。任何位置   关联应在任何命名的关联之前。命名协会   如果子程序调用中的前缀为   attribute_reference。

类似地,数组聚合在第4.3.3节中描述

  

array_aggregate :: = positional_array_aggregate |   named_array_aggregate

     

positional_array_aggregate :: =       (表达式,表达式{,表达式})| (表达式{,expression},其他=> expression)| (表达式{,expression},   其他=> <>)

     

named_array_aggregate :: =       (array_component_association {,array_component_association})

     

array_component_association :: =       离散选择列表=>表达式|离散的选择列表=> <>

箭头用于将数组索引与特定值相关联,或将子程序的形式参数名称与实际参数相关联。

答案 1 :(得分:2)

堆栈溢出实际上并不是解决此类问题的地方,这就是为什么它至少获得了一次密切的投票。

也就是说,“箭头”自该语言的第一个版本以来就出现了;参见ARM83 2.2。另请参见Ada 83 Rationalesection 3.5似乎是第一个实际使用的地方,尽管不是按名称。

答案 2 :(得分:0)

作为Jim答案的补充,在用法/直观性方面:箭头X => A表示Ada语法的不同位置:值A移至X。例如,填充具有任意单元格顺序的数组。有关具有大型数组的应用程序,请参见this presentation的幻灯片8。不用说,在这种情况下,缺少箭头符号会导致大量错误。有时,它对于使关联更具可读性很有用。您可以在here中看到它在设计游戏关卡时的作用。