Size: a a a

2020 March 22

AP

Anton Petrusevich in Modern::Perl
к методу
источник

OP

Oleg Pronin in Modern::Perl
А зачем?
источник

AP

Anton Petrusevich in Modern::Perl
~$ perl -E '$a = bless [], "A"; $a->a'
Can't locate object method "a" via package "A" at -e line 1.
источник

OP

Oleg Pronin in Modern::Perl
Ты хочешь запроектировать так чтобы тебе можно было передать всякую хрень и ты не падал?)
источник

AP

Anton Petrusevich in Modern::Perl
Oleg Pronin
Если делать как ты сказал
«
$val = $foo->bar->baz->ceo if $foo && $foo->can('bar') && $foo->bar && $foo->bar->can('baz') && $foo->bar->baz && $foo->bar->baz->can('ceo');
«
То будет тормознуто понятно, тут по многу раз вызываются одни и теже методы.
Можно писать
$bar = $foo && $foo->bar;
$baz = $bar && $bar->baz;
...
К чему там был can я вообще не понял
>>Можно писать

вот потому и речь про сахар. что не хочется так писать.
источник

AP

Anton Petrusevich in Modern::Perl
Oleg Pronin
Ты хочешь запроектировать так чтобы тебе можно было передать всякую хрень и ты не падал?)
да, не падал и получал андеф. одно из предложенных решений на стековерфлоу:
$a = eval { $obj->foo->bar->baz };
что конечно ваще не тема
источник

OP

Oleg Pronin in Modern::Perl
Я просто отметил на что прямо щас пока можно было бы  заменить приведенный пример для увеличения скорости в несколько раз. Причем кода по размеру меньше
источник

OP

Oleg Pronin in Modern::Perl
Anton Petrusevich
да, не падал и получал андеф. одно из предложенных решений на стековерфлоу:
$a = eval { $obj->foo->bar->baz };
что конечно ваще не тема
Личноя считаю не паданье когда тебе всякую херню передают плохой практикой
1) дофига рантайма уходит на бесполезные проверки
2) сильно затрудняется дебаг. В коде может быть куча ошибок программиста которые просто сьедаются молча
источник

AP

Anton Petrusevich in Modern::Perl
Oleg Pronin
Я просто отметил на что прямо щас пока можно было бы  заменить приведенный пример для увеличения скорости в несколько раз. Причем кода по размеру меньше
ну, безусловно, можно в несколько строк. я просто демонстрировал как это будет в одной.
источник

AP

Anton Petrusevich in Modern::Perl
Oleg Pronin
Личноя считаю не паданье когда тебе всякую херню передают плохой практикой
1) дофига рантайма уходит на бесполезные проверки
2) сильно затрудняется дебаг. В коде может быть куча ошибок программиста которые просто сьедаются молча
появляется выбор: падать как обычно или не падать, когда тебя устраивает андеф. второй случай сейчас не очень удобен, когда длинные цепочки особенно.
источник

OP

Oleg Pronin in Modern::Perl
Если андеф - допустимое значение, то безусловно, это просто часть логики. Мой комент был адресован вызовам «can » которые там стоят чтобы заглушить паданье если тебе передали не андеф, а чтото совсем левое. Код трактует это как андеф. А это невалидное значение по сути и надо падать чтобы программер увидел
источник

AP

Anton Petrusevich in Modern::Perl
ну, к примеру, схема по соап. каждый метод возвращает свой тип, внутри свои структуры — всё методами, вложенность 3-4 уровня легко. и если там чего-то нет, то андеф как налл меня устраивает
источник

OP

Oleg Pronin in Modern::Perl
Для приведенного тобой примера can все еще не нужен)
источник

AT

Artem Tepponen in Modern::Perl
XML::Simple, но джейсон конечно лучше. И вообще, нефиг объекты по сети таскать
источник

AP

Anton Petrusevich in Modern::Perl
меня кто-то спрашивал? www.regionalstatistik.de мне соап выдаёт
источник

AT

Artem Tepponen in Modern::Perl
Все, что передается по сети - это структура данных (ну просто по определению). Делать из неё объекты - другой разговор.
источник

VG

Vadim Goncharov in Modern::Perl
Anton Petrusevich
ну, к примеру, схема по соап. каждый метод возвращает свой тип, внутри свои структуры — всё методами, вложенность 3-4 уровня легко. и если там чего-то нет, то андеф как налл меня устраивает
а там что, прям вложенные объекты? лет 7 не трогал soap и уже не помню как там, в этом страшном сне))
источник

VG

Vadim Goncharov in Modern::Perl
Artem Tepponen
Все, что передается по сети - это структура данных (ну просто по определению). Делать из неё объекты - другой разговор.
иногда таки приходится, увы ) но даж в этом случае есть выбор не делать хотя бы методы произвольными
источник

AP

Anton Petrusevich in Modern::Perl
Vadim Goncharov
а там что, прям вложенные объекты? лет 7 не трогал soap и уже не помню как там, в этом страшном сне))
да
источник
2020 March 25

AK

Andrey Konovalov in Modern::Perl
Кто-нибудь слышал, в Perl 40.1 может  уже добавят "константу", содержащую имя функции?
источник