识别 GNU Octave 中的变量类型

Posted

技术标签:

【中文标题】识别 GNU Octave 中的变量类型【英文标题】:Identifying variable type in GNU Octave 【发布时间】:2020-01-17 19:08:12 【问题描述】:

在练习 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

【问题讨论】:

【参考方案1】:

根据the documentation(强调我的):

字符串 (s)

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

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

编程注意事项:Octave 还没有实现字符串数组,所以这个函数总是返回 false。

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

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

【讨论】:

以上是关于识别 GNU Octave 中的变量类型的主要内容,如果未能解决你的问题,请参考以下文章

Netbeans (PHP) 中的变量类型提示

GNU Octave怎么样?

局部变量类型推断未被识别

第三天 变量及数据类型基础

octave简易操作 快速上手

Python中的变量