PDA

Показать полную графическую версию : [решено] Правильный синтаксис команды безусловного перехода Goto


Dragokas
26-03-2013, 02:59
Как правильно писать:

1)
goto :metka
или
2)
goto metka

ShaddyR
26-03-2013, 03:07
.bat - оба варианта
pascal - 2й

ЗЫ: тебя в поисковиках забанили? ;)

Dragokas
26-03-2013, 03:10
Ок, ShaddyR, посоветуйте источник, который Вы считаете авторитетным (т.с. истина последней инстанции).

Просто на деле работают оба варианта.

ShaddyR
26-03-2013, 03:24
Diskretor, смотря в чем програмим и что интересует. Для меня изначально самым авторитетным источником изложения синтаксиса был великий параметр /? (он же ?, он же -help etc.) :). Периодически перечитываю статьи из серии уроки bat-аники — Яндекс: нашлось 74 тыс. ответов (http://yandex.ua/yandsearch?text=%D1%83%D1%80%D0%BE%D0%BA%D0%B8%20bat-%D0%B0%D0%BD%D0%B8%D0%BA%D0%B8&tld=ua&lr=20554) - с свое время оказались мягко говоря познавательными)

Просто на деле работают оба варианта. »
именно так. Тебя интересует, было ли так всегда?

Dragokas
26-03-2013, 03:31
в чем програмим »
В данном случае CMD, OS Win7.
Тебя интересует, было ли так всегда? »
Да, интересно.

ShaddyR
26-03-2013, 04:52
Diskretor, в хелпе DOS обычно прописывается отсутствие знака ":" в команде перехода у метки, при необходимости оного в тексте, куда идет ссылка, в т.ч. в примерах. Если копать чуть глубже, то можно обнаружить, что имеет место некоторое упрощение синтаксиса (с какого времени - не скажу, скорее всего с последних версий MS-DOS) - изначально метки при использовании данной команды предполагали наличие ":", но затем это перестало быть обязательным - кроме случая спец.-меток, доступных при включении расширенной обработки команд. Напр., :EOF, которая к тому же не должна была содержать после себя в строке пробела.

Как-то так, вкратце.

Dragokas
26-03-2013, 23:04
Вот и я привык писать : с метками. Т.к. чаще всего использую команду Call, а не Goto.
А тут получается как бы путаница. Системная метка пишется всегда с :
Да и Goto иногда воспринимает такой синтаксис без ошибок.
Но в более сложных сценариях это приводит к вылету.




© OSzone.net 2001-2012