Ada.Strings.Fixed.Index_非_Blank的行为
我认为,根据它的名称,这个函数在逻辑上会返回第一个字符的索引,而不是空格,也就是说,不是空格或表格 然而,当在一些字符串上测试它时,以及在查看它的实现时(文件a-strsea.adb forAda.Strings.Fixed.Index_非_Blank的行为,string,ada,String,Ada,我认为,根据它的名称,这个函数在逻辑上会返回第一个字符的索引,而不是空格,也就是说,不是空格或表格 然而,当在一些字符串上测试它时,以及在查看它的实现时(文件a-strsea.adb forGNAT 4.7.4),我意识到该函数实际上返回的第一个字符的索引不是普通的空格(ASCII 32)。在我看来,这与它的名称不符 那么,在哪里可以找到这个函数的预期行为(除了查看代码)?事实上,在AARM的Ada 2012中,我只找到了原型,没有任何语义信息。我同意使用“Blank”一词是不合适的。在其他地方
GNAT 4.7.4
),我意识到该函数实际上返回的第一个字符的索引不是普通的空格(ASCII 32
)。在我看来,这与它的名称不符
那么,在哪里可以找到这个函数的预期行为(除了查看代码)?事实上,在
AARM
的Ada 2012
中,我只找到了原型,没有任何语义信息。我同意使用“Blank”一词是不合适的。在其他地方,本标准将“空白”定义为“空格或水平制表字符”
AARM确实定义了Ada.Strings.Fixed.Index\u Non\u Blank
的行为:
function Index_Non_Blank (Source : in String;
From : in Positive;
Going : in Direction := Forward)
return Natural;
返回索引(源、映射到集合(空格)、从、外部、前进)代码>
返回索引(源、映射到集合(空格)、外部、前进)
其中空格
是Ada.Characters.Latin_1.Space
,定义为'
该标准显示了Ada.Strings.Fixed
索引的规范,没有注释,后面是对声明子程序的效果的描述,这一事实可能会令人困惑。只需在文档中搜索非空白索引,不要假设所有信息都在一个地方。我同意使用“空白”一词是不合适的。在其他地方,本标准将“空白”定义为“空格或水平制表字符”
AARM确实定义了Ada.Strings.Fixed.Index\u Non\u Blank
的行为:
function Index_Non_Blank (Source : in String;
From : in Positive;
Going : in Direction := Forward)
return Natural;
返回索引(源、映射到集合(空格)、从、外部、前进)代码>
返回索引(源、映射到集合(空格)、外部、前进)
其中空格
是Ada.Characters.Latin_1.Space
,定义为'
该标准显示了Ada.Strings.Fixed
索引的规范,没有注释,后面是对声明子程序的效果的描述,这一事实可能会令人困惑。只需在文档中搜索索引非空
,不要假设它的所有信息都在一个地方