LINUX.ORG.RU
ФорумJob

perl ищу работу удаленно

 ,


1

5

Использую:
* Perl5, Apache, Template Toolkit, Dancer2, PostgreSQL;
* Javascript, bootstrap, jQuery.
* git

Готов работать удаленно или подключиться к проекту.

★★

Последнее исправление: WinLin2 (всего исправлений: 1)

Можешь объяснить разницу между первым и вторым циклом?

#! /usr/bin/perl

use strict;
use warnings;

my %h1 = (one => 1, two => 2);
my %h2 = (three =>3 , four => 4);

sub h_uno { \%h1 }

sub h_multi {
    my %all = (%h1, %h2);

    \%all;
}

while (my ($k, $v) = each %{h_uno()}) {
    print "k=$k, v=$v\n";
}

# следующий цикл не завершится никогда
#while (my ($k, $v) = each %{h_multi()}) {
#    print "k=$k, $v=$v\n";
#}

level1 ★★
()
Ответ на: комментарий от level1

h_multi() возвращает новый хеш.

#! /usr/bin/perl

use strict;
use warnings;

my %h1 = (one => 1, two => 2);
my %h2 = (three =>3 , four => 4);

sub h_uno { \%h1 }

sub h_multi {
    my %all = (%h1, %h2);

    \%all;
}

while (my ($k, $v) = each %{h_uno()}) {
    print "k=$k, v=$v\n";
}

my $rh = h_multi();

# следующий цикл не завершится никогда
while (my ($k, $v) = each %{$rh}) {
    print "k=$k, $v=$v\n";
}

WinLin2 ★★
() автор топика

Готов работать удаленно

Только в пространстве или ещё во времени? Тебе проще всего найти работу в 90-х.

jQuery

Ну или можешь попытать счастье в конце нулевых.

WitcherGeralt ★★
()
Ответ на: комментарий от WinLin2

Если «вышивание крестиком» — это про кресты, то это уже вполне ходовой скилл, добавь в шапку.

WitcherGeralt ★★
()
Ответ на: комментарий от Deleted

Ну, или вообще отказаться от использования each, как Damian Conway завещал в своих Perl Best Practices.

my $h = h_multi();
for my $k (keys %$h) {
    say "k=$k, v=" . $h->{$k};
}
evbogdanov
()
Ответ на: комментарий от evbogdanov

Вот более наглядный пример:

# следующий цикл не завершится никогда
while (my ($k) = each %{h_multi()}) {
    say $k;
}

# окей
for my $k (keys %{h_multi()}) {
    say $k;
}

evbogdanov
()
Ответ на: комментарий от WinLin2

h_multi() возвращает новый хеш.

Ну и что? Что такое «новый»? Почему это приводит к такому поведению?

Ты хочешь удаленку. А твой ответ порождает больше вопросов, чем дает ответов. На удаленке лучше излагать свои мысли подробней, быть... чуть более интеллигентным что-ли.

level1 ★★
()
Ответ на: комментарий от annulen

Два совершенно одинаковых куска кода, но в первом случае функция вызывается один раз и потом each вытаскивает пары из полученного хеша, а во втором функция вызывается несколько раз. Выглядит так.

Я не просил исправлять ошибку, я просил объяснить. И спрашивал это я для себя, чтобы выяснить смогу ли лично я работать именно с этим человеком удаленно. Мне «новый хеш» для объяснения маловато, я до сих пор не понимаю просто ли он накостылил или знает сколько там вызовов, знает про итераторы.

level1 ★★
()
Ответ на: комментарий от level1

быть... чуть более интеллигентным что-ли.

WinLin2 ★★
() автор топика
Ответ на: комментарий от level1

, но в первом случае функция вызывается один раз... а во втором функция вызывается несколько раз.

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

смогу ли лично я работать именно с этим человеком удаленно.

ну этим вопрос вы показали свою некомпетентность.

Jopich1
()
Последнее исправление: Jopich1 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.