Что запятые конца строки делают в Matlab?

Это трудно искать: что запятые конца строки делают в Matlab? В нескольких маленьких тестах я сделал, они, кажется, не заставляют код вести себя несколько отличающийся. Я хотел бы знать, потому что они находятся на всем протяжении в этом коде, который я не написал (но имел для поддержания).

Примеры того, что я имею в виду:

if nargin<1,
    % code
end

if isError,
    % code
end

try,
    % code
    while 1,
        % even more code
    end
catch,
    % code
end
12
задан Benjamin Oakes 23 January 2011 в 03:42
поделиться

4 ответа

Согласно документации для символа запятой в MATLAB , одна из его функций заключается в разделении операторов внутри строки. Если в строке только один оператор, запятая не нужна. Мне не нравится это там видеть, хотя я знаю, что некоторые люди пишут код именно так.

16
ответ дан 2 December 2019 в 05:15
поделиться

Я выполнил некоторые тесты, и, похоже, они работают следующим образом;

Если вы отправляете заголовок If-Modified-Since с датой, которая была в прошлом (за 5 минут до текущего времени), то сайты, такие как google.com, w3.org, mattcutts.com вернут заголовок «HTTP/1.1 304 Not Modified». Такие сайты, как yahoo.com, bbc.co.uk и stackoverflow.com, всегда возвращают «HTTP/1.1 200 OK».

Заголовок «Last-Modified» не имеет ничего общего с заголовком «If-Modified-Since», так как вся точка отправки назад заголовка «HTTP/1.1 304 Not Modified» состоит в том, что вам не нужно отправлять тело вместе с ним (таким образом, экономия полосы пропускания - это вся точка за этим).

Поэтому ответ на мой вопрос заключается в том, что если сайт не возвращает заголовок «HTTP/1.1 304 Not Modified» при отправке заголовка «If-Modified-Since 5 mins ago», сайт не поддерживает запрос «If-Modified-Since» должным образом.

Если я не прав, пожалуйста, скажите это и предоставьте тестирование, чтобы показать.

Изменить: Я забыл добавить, что хороший тест состоит в том, чтобы сделать обычный запрос HEAD к домену (например, w3.org), захватить дату «Последнее изменение», а затем сделать другой запрос с «If-Modified-Since:». Это позволит проверить, поддерживаются ли и значение «Last Modified», и запрос «If-Modified-Since». Обратите внимание: только потому, что сервер отправляет обратно дату «Последнее изменение», это не значит, что он поддерживает «Если-изменено - С тех пор»

-121--2986138-

Прочитайте Руководство:

Directory.Delete Method (String, Boolean)

Directory.Delete(folderPath, true);
-121--845562-

Я думаю, что запятая в matlab подобна точке с запятой в C. Она разделяет команды, поэтому можно поместить несколько команд в одну строку

Как пишется ваша программа, я считаю, запятые не имеют никакого значения.

1
ответ дан 2 December 2019 в 05:15
поделиться

Как отмечали другие, запятые в конце строки не нужны. Они действительно нужны только для разделения утверждений, находящихся на одной строке. mlint и Редактор даже выдаст вам предупреждение, если вы используете одну без необходимости:

enter image description here

>> mlint comma_test.m
L 1 (C 4): Extra comma is unnecessary.
8
ответ дан 2 December 2019 в 05:15
поделиться

Если вы читаете жестко закодированные m-файлы (например, многие встроенные функции MATLAB), вы обнаружите вариант if. .. конец конструкции, которая записывается в одной строке. Вот пример
, если x <0, disp ('мнимый'); end
Обратите внимание на запятую между x < 0 и disp (...). По-видимому, запятая сообщает интерпретатору MATLAB, что условный тест завершен. Насколько мне известно, это единственное место, где оператор (ОК, часть оператора) заканчивается запятой. Это всего лишь один из тех причуд, которые истинно верующие используют без колебаний.

http://web.cecs.pdx.edu/~gerry/MATLAB/programming/basics.html

4
ответ дан 2 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

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