троичный оператор в Matlab

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

25
задан Dan 24 December 2014 в 05:40
поделиться

3 ответа

Вы можете сделать

var = 5 > 4;

, который установит для var значение true. Просто замените то, что вам нужно, на 5> 4.

9
ответ дан MatlabSorter 24 December 2014 в 05:40
поделиться

Хм ... никто не упомянул об этом

fi = @(varargin)varargin{end-varargin{1}}

где-то в документах написано, что "конец" подходит к одному, так что это будет более надежным в будущем

fi = @(varargin)varargin{length(varargin)-varargin{1}}

Использование:

fi(input('Do you like Matlab ? '),'yes','no')
>> no

Если вам нужны встроенные случаи, см. Mathworks ...

8
ответ дан Carel 24 December 2014 в 05:40
поделиться

MatLab не имеет троичного оператора или какого-либо другого синтаксического сахара для однострочных операторов if. Но если ваш оператор if действительно прост, вы все равно можете просто написать его одной строкой:

if (cond); casetrue(); else; casefalse(); end

Это не так просто, как троичный оператор, но все же лучше, чем написать его в 5 строках кода.

26
ответ дан Leonid Beschastny 24 December 2014 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: