Ada.Strings.Fixed.Index_非_Blank的行为

Ada.Strings.Fixed.Index_非_Blank的行为,string,ada,String,Ada,我认为,根据它的名称,这个函数在逻辑上会返回第一个字符的索引,而不是空格,也就是说,不是空格或表格 然而,当在一些字符串上测试它时,以及在查看它的实现时(文件a-strsea.adb forGNAT 4.7.4),我意识到该函数实际上返回的第一个字符的索引不是普通的空格(ASCII 32)。在我看来,这与它的名称不符 那么,在哪里可以找到这个函数的预期行为(除了查看代码)?事实上,在AARM的Ada 2012中,我只找到了原型,没有任何语义信息。我同意使用“Blank”一词是不合适的。在其他地方

我认为,根据它的名称,这个函数在逻辑上会返回第一个字符的索引,而不是空格,也就是说,不是空格或表格

然而,当在一些字符串上测试它时,以及在查看它的实现时(文件a-strsea.adb for
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
索引的规范,没有注释,后面是对声明子程序的效果的描述,这一事实可能会令人困惑。只需在文档中搜索
索引非空
,不要假设它的所有信息都在一个地方