МАТЛАБ: Как создать свойство, имя которого совпадает с ключевым словом? - PullRequest
0 голосов
/ 26 октября 2018

В этой статье (https://blogs.mathworks.com/loren/2012/07/16/who-what-why-but-not-this/) возле дна Лорен говорит, что свойства класса могут совпадать с ключевыми словами. Однако, как это возможно? Если вы пишете сценарий classdef, любая попытка использовать ключевое слово (включая класс) ключевые слова, такие как «события») в блоке свойств, получает синтаксическую ошибку красного цвета. Она ошиблась? Я спрашиваю, потому что я действительно хочу, чтобы имя свойства было ключевым словом для конкретного приложения.

1 Ответ

0 голосов
/ 26 октября 2018

Это возможно при использовании динамических свойств , например:

classdef test < dynamicprops
  methods
    function obj = test()
    end
  end
end

var = test();
var.addprop ( 'events' );
var.events = 123;

Это может усложнить сопровождение кода и его излишнюю избыточность, если вы хотите назвать только одно свойство так же, как ключевое слово, в этом случае почему бы вам не сделать что-то вроде прописывания имени переменной или добавления чего-то к нему - поэтому он по-прежнему выглядит так, как вы хотите, но не вызывает конфликт имен:

classdef test
  properties
    Events
    myIf
    % etc...
  end
  methods
    function obj = test()
    end
  end

end
...