И вот кстати: perl -E "@arr=(1,(undef)x100,3); say @arr.length; say scalar @arr" 102 102
-- Павел 27 февраля 2017 г., 15:07 пользователь Павел Купцов <[email protected]> написал: > $ perl -E "@arr=(1, (undef) x 100, 3); say @arr.length" > 102 > А что тут смущает? > 1+100+1 = 102 > > > -- > Павел > > 27 февраля 2017 г., 14:53 пользователь Alessandro Gorohovski < > [email protected]> написал: > > >> 27 февраля 2017 г., 14:44 пользователь Павел Купцов via Moscow-pm < >> [email protected]> написал: >> >>> v5.18.2 >>> >>> perl -E "@arr=(1,2,3); say @arr.length" >>> >>> 3 >>> >> >> Спасибо. Шикарно :) >> >> Правда, >> $ perl -E "@arr=(1, (undef) x 100, 3); say @arr.length" >> 102 >> >> >>> >>> -- >>> Павел >>> >>>> >>>> >>>> Нет речь не о привычке, перл мне как раз >>>> более привычен чем другие языки. >>>> Но логичный, читаемый вариант это не >>>> scalar @array >>>> а >>>> length @array >>>> потому что первый вариант требует >>>> знать и помнить что делает массив в >>>> скалярном контексте (как и знания >>>> концепции контекстов перла), а второй >>>> вариант не требует ничего кроме знания >>>> английского языка. >>>> Конечно опытный перловик не >>>> испытывает с этим никаких проблем, >>>> потому что привык, да вот только нет >>>> ничего хорошего в том что язык вместо >>>> очевидного решения предлагает >>>> привычное. >>>> >>>> >>>> Конец Дайджест списка рассылки Moscow-pm; том 112, выпуск 6 >>>> ************************************************************ >>>> *********************************** >>>> >>> >>> >>> -- >>> Moscow.pm mailing list >>> [email protected] | http://moscow.pm.org >>> >>> >> >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
