我想知道是否可以将冒号“:”用作函数参数。例如:
此外,是否可能将关键词end作为函数参数传递,以及1:end、3:end-5等呢?我怀疑这是不可能的,但我想确定一下。
此外,当我将"1:end"作为函数参数传递时,会出现奇怪的错误,它不会产生错误,但在函数内部,没有分配任何参数(甚至是其他参数)。 有人知道发生了什么吗?
function y=func(x)
if x is a colon
do this
else
do that
end
此外,是否可能将关键词end作为函数参数传递,以及1:end、3:end-5等呢?我怀疑这是不可能的,但我想确定一下。
此外,当我将"1:end"作为函数参数传递时,会出现奇怪的错误,它不会产生错误,但在函数内部,没有分配任何参数(甚至是其他参数)。 有人知道发生了什么吗?
if x == ":" ...
,可以使用 size 找到 end 并将其作为数字传递。 - oleksii()
时会发生的情况是:如果你调用x(:)
,则:
会以字符串':'
的形式出现在subsref
或subsasgn
中。因此,使用ischar(x) && isequal(x, ':')
比使用==
更为合理。==
会在大小不同的情况下抛出错误,并产生误报:==
会进行隐式类型转换,因此58 == ':'
为真。 - Andrew Janke