Size: a a a

2021 August 30

ЯК

Ярослав Косьмина... in Modern::Perl
В защиту goto добавлю, что если пронумеровать строки, как это сделали в оригинальном basic-е, то получится алгоритм на алгоритмическом языке, а не лапша.
источник

VG

Vadim Goncharov in Modern::Perl
как раз на бейсике и будет лапша
источник

ЯК

Ярослав Косьмина... in Modern::Perl
Для вложенных вызовов в perl:

sub Me {
  ...
  goto &Me;
}
источник

VG

Vadim Goncharov in Modern::Perl
алгоритмический язык - это, например, Алгол
источник

AK

Andrey Karepin in Modern::Perl
выполнил нужную команду и срочно, тут же ^D!
источник

a

allter in Modern::Perl
Нет. Это хвостовой переход. Тоже костыль, но есть ЯП, в которых хвостовая рекурсия реализована по умолчанию.
источник

ЯК

Ярослав Косьмина... in Modern::Perl
Так в вики написано. Но первые реализации были как раз с "перейти на пункт №"
источник

AK

Andrey Karepin in Modern::Perl
пронумерованная
источник

VG

Vadim Goncharov in Modern::Perl
у алгола-то?
источник

b

basiliscos in Modern::Perl
МН норм как инструмент, надо научиться им пользоваться в перле. Он херов может быть тем, что не очень тестабелен и сильную связность навязывает, афаик. Например:

package ::Plugin;
use mro;

sub method {
  my $self = shift;
  $self->next(@_);
 $self->other_method; # !!!
}


Проблема в том, что зовётся other_method, реализованный хз где. В плюсах, похожая проблема решается через темплейтый (CRTP), а в расте, афаик, таки заставляют интерфейс с other_method объявить, чтобы было ясно куда там зовётся и как.
источник

ЯК

Ярослав Косьмина... in Modern::Perl
Нет у алгоритмического языка.

На алгоритмическом языке:

Алгоритм Факториал от n, на выходе - a:
1. i = 2
2. a = 1
3. a = a * i
4. Если i < n, то на пункт 7
5. Вывести a
6. Конец
7. i = i + 1
8. на пункт 3


Ну и то же на Бейсике:

5 input "Введите число от которого нужно получить факториал:", n
10 i = 1
20 a = 1
30 a = a * i
40 IF i < n THEN goto 70
50 print "Факториал от", n, "=", a
60 end
70 i = i+1
80 goto 30
источник

VG

Vadim Goncharov in Modern::Perl
> На алгоритмическом языке:

нет такого языка
источник

ЯК

Ярослав Косьмина... in Modern::Perl
Так и алгола давно нет.
источник

VG

Vadim Goncharov in Modern::Perl
да куда бы он делся
источник

ЯК

Ярослав Косьмина... in Modern::Perl
Интерпретатор algol68 есть: https://archlinux.org/packages/community/x86_64/algol68g/
источник

W

Warstone in Modern::Perl
А чем отличается?..
источник

AP

Anton Petrusevich in Modern::Perl
а теперь на бейсике таком попробуй алгоритм с рекурсией...
источник

AP

Anton Petrusevich in Modern::Perl
гоуту ок для реализации FSM или для другого сгенерированного кода
источник

AP

Anton Petrusevich in Modern::Perl
на си из вложенных циклов тоже гоуту
источник

P

Prizëm e hënës in Modern::Perl
В перле вроде бы goto отсутствует как таковой, нет?
источник