识别 GNU Octave 中的变量类型



当使用Octave练习时,我创建了一个名为my_name = ["Andrew"]的变量,并在要求Octave解释它是否是一个字符串时,它输出了一个"0"。再次使用typeinfo(my_name)时,我得到了ans = string.为什么我会得到这种输出?

octave:47> my_name = ["Andrew"]
my_name = Andrew
octave:48> isstring(my_name)
ans = 0
octave:49> typeinfo(my_name)
ans = string

根据文档(强调我的(:

isstring (s(

如果 s 是字符串数组,则返回 true。

字符串数组是一种数据类型,用于在数组中的每个元素处存储字符串(字符的行向量(。它不同于字符数组,字符数组是 N 维数组,其中每个元素都是单个 1x1 字符。它也不同于在每个元素上存储字符串的字符串的单元格数组,但使用单元格索引"{}"来访问元素,而不是使用普通数组索引"(("的字符串数组。

编程说明:Octave 尚未实现字符串数组,因此此函数将始终返回 false。

也就是说,无论输入是什么,isstring都将始终返回false(或0(。

应使用ischar来确定输入是否为字符数组(==字符串(。

最新更新