Size: a a a

2019 December 02

a

allter in Modern::Perl
Andrei Protasovitski
Это небольшая плата за возможность не париться о типах.
Сомнительная фича. К слову, никаких варнингов при преобразовании, теряющем точность (например, целочисленное -> с плавающей запятой), не предусмотрено.
источник

a

allter in Modern::Perl
Ivan Bessarabov
Проверил — плюс не меняет то что в num2 находится строка — https://perlbanjo.com/2ce5d982cf
Я про такой юзкейс: https://PerlBanjo.com/c7abe7c727
источник

IB

Ivan Bessarabov in Modern::Perl
офигеть =)
источник

IB

Ivan Bessarabov in Modern::Perl
спасибо, прикольно
источник

AP

Andrei Protasovitski in Modern::Perl
allter
Я про такой юзкейс: https://PerlBanjo.com/c7abe7c727
Я могу больше сказать. Если вытаскивать данные из мускула, то всегда получаешь строки. Стока, чаще всего, занимает больше места, чем число. Иногда во много раз больше. Мы когда-то делали специальную прослойку, чтобы числовые поля оставались числами, иначе память быстро заканчивалась.
источник

SZ

Sergey Zhmylove in Modern::Perl
Я могу ещё больше сказать, в перле в скаляре больше одного значения хранятся и то, какое использовать -- решается в зависимости от контекста.
источник

a

allter in Modern::Perl
Andrei Protasovitski
Я могу больше сказать. Если вытаскивать данные из мускула, то всегда получаешь строки. Стока, чаще всего, занимает больше места, чем число. Иногда во много раз больше. Мы когда-то делали специальную прослойку, чтобы числовые поля оставались числами, иначе память быстро заканчивалась.
Это-то как раз правильно, т.к. если бы получались числа например для DECIMAL типов, то терялась бы точность (правда я не проверял, поддерживает ли вообще DBD::mysql такие типы).

Собственно, я решил проверить обсуждаемую фишку после того, как я начал искать, как предлагает описывать числовые поля (произвольной точности) OpenAPI. Спойлер: пока никак. :)
источник

AP

Andrei Protasovitski in Modern::Perl
Sergey Zhmylove
Я могу ещё больше сказать, в перле в скаляре больше одного значения хранятся и то, какое использовать -- решается в зависимости от контекста.
Не совсем. Если сделать:
my $number = 0 + $mysql_row->get_col("chislo");

то в $number не будет храниться строковое представление.
источник

SZ

Sergey Zhmylove in Modern::Perl
Andrei Protasovitski
Не совсем. Если сделать:
my $number = 0 + $mysql_row->get_col("chislo");

то в $number не будет храниться строковое представление.
Это очевидно
источник

IB

Ivan Bessarabov in Modern::Perl
allter
Я про такой юзкейс: https://PerlBanjo.com/c7abe7c727
Причем поведение меняется в зависимости от версии. В 5.24.4 в такой ситуации плюс не менят строку на число, а вот, например, в 5.30.1 — меняется
источник

a

allter in Modern::Perl
Ivan Bessarabov
Причем поведение меняется в зависимости от версии. В 5.24.4 в такой ситуации плюс не менят строку на число, а вот, например, в 5.30.1 — меняется
Вполне возможно, что "исправили", получили отчёты о регрессиях, вернули назад. Я правда не помню такое в ченджлогах.
источник

IB

Ivan Bessarabov in Modern::Perl
а еще может быть что такое вообще не обложено тестами и никто не знает что такое поведение прыгает
источник

CN

Cyrill Novgorodcev in Modern::Perl
у меня что-то https://perlbanjo.com/ не доступен :(
источник

IB

Ivan Bessarabov in Modern::Perl
Авария, чиню
источник

a

allter in Modern::Perl
Возможно весь чатик, включая луркеров ломанулся проверять и вызвал мини слэшдот эффект. :)
источник

IB

Ivan Bessarabov in Modern::Perl
Ага, все трое =)
источник

IB

Ivan Bessarabov in Modern::Perl
Вернул к жизни, но еще смотрю на проблему
источник

CN

Cyrill Novgorodcev in Modern::Perl
нифига я ваш кейс не понимаю
источник

IB

Ivan Bessarabov in Modern::Perl
Cyrill Novgorodcev
нифига я ваш кейс не понимаю
https://perlbanjo.com/8b31258ec3 — фигли разный вывод на разных версиях перла?
источник

CN

Cyrill Novgorodcev in Modern::Perl
а, кажется понял
источник