Size: a a a

2020 November 19

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Мне нужен декремент после рекурсивного вызова.
А, лоол
источник

SZ

Sergey Zhmylove in use Perl or die;
Хехе
источник

SZ

Sergey Zhmylove in use Perl or die;
Зачем так жить
источник

АК

Алексей Клименко... in use Perl or die;
Алексей Клименко
Пока не то.

our $deep;

f_start();

sub f_start
{
 $deep = 0;
 say f_body();
}

sub f_body
{
 say $deep;
 if($deep>5){
   return -1;
 }
 {
   local $deep;
   $deep++;
   return f_body();
   $deep--;
 }
}
local выдерживает рекурсию, или нет?
А то эту часть перлдока я по диагонали читал.
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Мне нужен декремент после рекурсивного вызова.
sub f_start
{
 say f_body(0);
}

sub f_body
{
 my $deep =$_[0];
 if($deep>5){
   return -1;
 }

   return f_body($deep+1);

}
источник

АК

Алексей Клименко... in use Perl or die;
Sergey Zhmylove
sub f_start
{
 say f_body(0);
}

sub f_body
{
 my $deep =$_[0];
 if($deep>5){
   return -1;
 }

   return f_body($deep+1);

}
источник

АК

Алексей Клименко... in use Perl or die;
А МОЖНО БЕЗ ПЕРЕДАЧИ ВНУТРЬ!?
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
local выдерживает рекурсию, или нет?
А то эту часть перлдока я по диагонали читал.
Local это сохранение переменной с последующим восстановлением
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
А МОЖНО БЕЗ ПЕРЕДАЧИ ВНУТРЬ!?
В перл можно всё
источник

АК

Алексей Клименко... in use Perl or die;
Sergey Zhmylove
Local это сохранение переменной с последующим восстановлением
Ну я инкремент и хотел им отменить.
источник

VT

Vasily Terkin in use Perl or die;
Алексей Клименко
А МОЖНО БЕЗ ПЕРЕДАЧИ ВНУТРЬ!?
Можно. Но нельзя
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Пока не то.

our $deep;

f_start();

sub f_start
{
 $deep = 0;
 say f_body();
}

sub f_body
{
 say $deep;
 if($deep>5){
   return -1;
 }
 {
   local $deep;
   $deep++;
   return f_body();
   $deep--;
 }
}
Ты можешь написать более реалистичный пример?
источник

SZ

Sergey Zhmylove in use Perl or die;
Где будет разумный return
источник

АК

Алексей Клименко... in use Perl or die;
Sergey Zhmylove
Где будет разумный return
У меня ретурн говна, которое вызывает говно, которое probably и eventually вызовет опять f_body.
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Пока не то.

our $deep;

f_start();

sub f_start
{
 $deep = 0;
 say f_body();
}

sub f_body
{
 say $deep;
 if($deep>5){
   return -1;
 }
 {
   local $deep;
   $deep++;
   return f_body();
   $deep--;
 }
}
Просто именно в таком контексте, достаточно перед return -1 сделать deep=0
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
У меня ретурн говна, которое вызывает говно, которое probably и eventually вызовет опять f_body.
Вот сделай более реалистичный пример и решение найдется
источник

АК

Алексей Клименко... in use Perl or die;
Vasily Terkin
Можно. Но нельзя
Так в список того, чего не может перл (ой, простите, «того чего *без костылей* не может перл») мне добавлять и «сохранить возвращаемое значение функции, чтобы потом вернуть его самому»?
источник

IB

Ivan Bessarabov in use Perl or die;
а зачем тебе local?
источник

IB

Ivan Bessarabov in use Perl or die;
это же глобальная переменная
источник

VT

Vasily Terkin in use Perl or die;
Алексей Клименко
Так в список того, чего не может перл (ой, простите, «того чего *без костылей* не может перл») мне добавлять и «сохранить возвращаемое значение функции, чтобы потом вернуть его самому»?
твой список — тебе решать
источник