Класс: кодер. CellType
Пакет: кодер
Создание однородной копии типа массива ячеек
newt = makeHomogeneous(t)
t = makeHomogeneous(t)
создает newt = makeHomogeneous(t)coder.CellType объект для однородного массива ячеек newt от coder.CellType объект t.
Создать newt, makeHomogeneous метод должен определить размер и класс, которые представляют все элементы t:
Если элементы t имеют один и тот же класс, но разные размеры, элементы newt - переменные размеры с верхними границами, которые вмещают элементы t.
Если элементы t имеют различные классы, например, char и double, makeHomogeneous метод не может создать coder.CellType объект для однородного массива ячеек.
Если вы используете coder.cstructname чтобы указать имя для типа структуры, который представляет t в созданном коде нельзя создать однородный coder.CellType объект из t.
Классификация как однородная является постоянной. Позднее невозможно создать разнородный coder.CellType объект из newt.
создает однородный t = makeHomogeneous(t)coder.CellType объект из t и заменяет t с новым объектом.
На экране coder.CellType объект, термины locked heterogeneous или locked homogeneous указывают, что классификация как однородная или гетерогенная является постоянной. Вы не можете позже изменить классификацию с помощью makeHomogeneous или makeHeterogeneous методы.
coder.typeof определяет, является ли тип массива ячеек однородным или гетерогенным. Если элементы массива ячеек имеют одинаковый класс и размер, coder.typeof возвращает однородный тип массива ячеек. Если элементы имеют различные классы, coder.typeof возвращает тип гетерогенного массива ячеек. Для некоторых клеточных массивов классификация как однородная или гетерогенная неоднозначна. Например, тип для {1 [2 3]} может быть гетерогенным типом 1x2. Первый элемент является двойным, а второй элемент - двойным. Тип также может быть однородным типом 1x3, в котором элементы имеют класс double и размер 1x: 2. Для этих неоднозначных случаев ,coder.typeof использует эвристику для классификации типа как однородного или гетерогенного. Если требуется другая классификация, используйте makeHomogeneous или makeHeterogeneous методы.