Почему 'в последний раз' назван 'в последний раз' в Perl?

Давайте посмотрим опции.

1 - По необходимости. Используемый партиями компаний (поскольку люди сказали там), Adobe, Amazon, Миссисипи, Google Companies, которая стала, усовершенствованной, и зависят от продажи программного обеспечения каждый день для помещения еды на таблицу, это - их выбор. Я предполагаю, что это - путь, которым я пошел бы, если бы мне было нужно поддерживаемое "глобальное решение" для множества сайтов, и т.д. Хороших для Победы/Linux (не уверенный в Macs хотя)

2 - SVN. Используемый многочисленными командами также, KDE использует его (огромный, огромный проект) в настоящее время в пересмотре 880,000 (да!) Очень практичный и для Windows и для использования Linux (даже при том, что я назвал бы TortoiseSVN ниже среднего числа в некоторых аспектах) Коммерческая поддержка может быть законтрактована также. Хороший для Windows / Linux / Macs также.

3 - Accurev, Если я пытался быть "острым". Я не развернул бы его на целой компании без некоторого тестирования и привыкания к нему сначала.

4 - Основа Команды MS Это может быть хорошее решение, но я никогда не пробовал и являюсь, вероятно, Windows только.

5 - Мерзавец / Bzr / Hg - Bzr и Hg имеют их "черепах" так, хороший для Windows (даже при том, что я не уверен в зрелости), Мерзавцем был бы Linux только в настоящее время, даже при том, что это ОЧЕНЬ ХОРОШО (и намного лучше и легче использовать, чем несколько лет назад).

я никогда не был бы, АБСОЛЮТНО НИКАКОЙ СПОСОБ, которым JOSE используют Clearcase. ПЕРИОД Это - пустая трата общих денег и время и исправность.

Избегайте: CVS / Clearcase / что-либо более старое

12
задан knorv 1 December 2009 в 02:52
поделиться

6 ответов

Семантика 'break' или 'last' такова: определяется языком (в данном случае Perl), а не вами.

Почему бы не подумать о «последнем» как о «это последний оператор для запуска петля ».

Мне всегда казалось странным, что Оператор 'continue' в 'C' запускает следующий проход цикла. Это определенно странное использование понятие «продолжить». Но это семантика 'C', поэтому я принимаю ее.

Пытаясь отобразить определенные концепции программирования в единый Английские слова с существующим значением всегда будет какой-то несоответствующей странности

Источник

Плюс, Ларри Уолл довольно странный. Вы видели его фотографию?

Larry Wall
(источник: wired.com )

33
ответ дан 2 December 2019 в 02:51
поделиться

Я полагаю, это потому, что Perl был создан лингвистом, а не компьютерным ученым. В обычном английском использовании концепция объявления того, что вы завершили свой последний проход через цикл, более тесно связана со словом «last» («это последний проход»), чем со словом «break» «(« break цикл »?» break out of the loop »? - даже не ясно, как« break »относится к выходу из цикла).

17
ответ дан 2 December 2019 в 02:51
поделиться

Термин «последний» имеет больше смысла, если вы помните, что вы можете использовать его не только для непосредственного управления циклом. Вы можете применить его к помеченным блокам на один или несколько уровней выше блок, в котором он находится:

 LINE: while( <> ) {
      WORD: foreach ( split ) {
           last LINE if /^__END__\z/;
           ...
           }
      }

Более естественным будет сказать «последняя» на английском, если вы читаете это как «последняя строка, если она совпадает с ...».

14
ответ дан 2 December 2019 в 02:51
поделиться

, потому что он переходит в последний цикл. И потому что Ларри Уолл был странным парнем.

5
ответ дан 2 December 2019 в 02:51
поделиться

Есть еще одна причина, которую вы можете рассмотреть:

Last выполняет больше, чем просто управление циклами.

sub hello {
  my ( $arg ) = @_; 

  scope: { 
      foo(); 
      bar(); 
      last if $arg > 4; 
      baz(); 
      quux(); 
  }
}

Последний как таковой - это общий механизм управления потоком, не ограниченный циклами. Хотя, конечно, вы можете обобщить вышеизложенное как цикл, который выполняется не более 1 раза, отсутствие цикла для меня означает «Разрыв? Из чего мы вырываемся?»

Вместо этого я думаю о « last "как" Перейти к позиции последней скобки ", что для этой цели более семантически целесообразно.

10
ответ дан 2 December 2019 в 02:51
поделиться

Я задавал тот же вопрос Дэмиану Конвею о , скажем, . Perl 6 представит say , что является не чем иным, как print , автоматически добавляющим новую строку. Мой вопрос заключался в том, почему бы просто не использовать echo , потому что это то, что echo делает в Bash (и, вероятно, в другом месте).

Его ответ был: echo is На 33% длиннее, чем , говорят .

В этом он прав. :)

6
ответ дан 2 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

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