передача двоеточия в качестве аргумента функции в matlab - PullRequest
6 голосов
/ 05 января 2012

Я хотел бы знать, возможно ли использовать двоеточие ":" в качестве аргумента функции.

Что-то вроде этого:

function  y=func(x)
  if x is a colon
    do this
  else
    do that
  end

Такжеможно ли передать ключ работы end в качестве аргумента функции, а также 1: end , 3: end-5 и т. д ... Iсомневаюсь, что это возможно, но я хотел бы быть уверен.

Кроме того, я получаю странную ошибку, когда я передаю «1: конец» в качестве аргумента функции, она не выдает ошибку, но внутри функции, нетаргумент назначен (даже не другие аргументы).Кто-нибудь знает, что происходит?

Ответы [ 2 ]

6 голосов
/ 05 января 2012

Вы можете переопределить оба для ваших собственных классов:

classdef MyClass

properties(Access=public)
    data
end

methods
    function out = end(A,k,n)
         disp(A);
         disp(k);
         disp(n);
         out = [];
    end 

    function B = subsref(A,S)            
        disp(S);
        B = [];
    end
end
end

Что касается функций, я никогда не слышал о такой функциональности.

0 голосов
/ 05 января 2012

Нет, невозможно передать двоеточие в качестве аргумента (это не имеет смысла).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...