- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
const arr = [['govno', 'shit'], ['kod', 'code']]
//we expect it to be {'govno': 'shit', 'kod' : 'code'}
//unsupported(yet)
Object.fromEntries = arr =>
Object.assign({}, ...Array.from(arr, ([k, v]) => ({[k]: v}) ));
const res1 = Object.fromEntries(arr)
const res2 = arr.reduce((res, [key, value]) => Object.defineProperty(res, key, {'value': value, 'enumerable': true}), {})
const res3 = {}
arr.forEach(([key, value]) => res3[key] = value)
Подобная питушня вида x == true ? true : false легко выкомпиливается.
В случае той же сишки такую простую питушню человек перестаёт писать после достижения определённой стадии образованности, и оптимизатору нужно работать с менее тривиальным кодом, примеры для начинающих компилятор уже должен щёлкать как орешки.
Для этого нужно всего лишь формально доказать что читать далее.
К слову, ни parse(stringify()) ни stringify(parse()) нельзя выбросить.
Точно. Именно поэтому я за композицию из трёх питушень.
Кстати, x ? true : false в JS/python ведь тоже нельзя выбросить 🙂
А как же ?
Проверка на бульность не трогает внутренности объекта. Даже если его valueOf/toSring бросает исключение, ничего не будет.
was?
NULL, TRUE, FALSE?
Вообще старые субдшники за такое дело могут и в зуб дать. Не тебе конечно, а тому кто такую архитектуру придумал
Ещё можно переписать рекурсивно, с конкатенацией и join через свёртку, которую тоже рекурсивно написать. Может, потом ещё через транслятор в JSFUCK прогнать.
А вообще можно сделать JSONP:
Где функция Peetooh, записывающая значение своего аргумента в какую-нибудь переменную, должна быть заранее определена.
А доказывать мы, конечно же, ничего не будем, потому что мы тут все программисты, а не математики.
На самом деле, я слошарил и ничего интересного в eval не передал. Там фактически будет сджойненная строка с жсонами пар. Надо так:
Пипи
ruru
Кто соснул?
JS сосунул!
Кто соснул?
JS сосунул!
Кто соснул?
JS сосунул!
>>JSON
буэ
Именно поэтому.
Торт, помогай!!
вот это смешно, почти няшно луашно, с метатататататтабла
Можно ещё переопределить конструктор, чтобы можно было писа́ть что-то типа:
Или вообще сделать закос под перловский qw...
У меня нет седьмого сисярпа, так что туплов мне не завезли пока, буду по старинке
Замечу кстати, что LINQ с лмбдм появился в C# когда в Java еще даже о стримах и не слыхивали. А вывода типов там и чичас нет.
С перегрузкой попоратора фигачить лянтно ибо:
1) надо или сахар для делегирования
2) или наследовать коллекцию
Сделаю как на кокотлине, там сухер есть
Выглядит как лист, хрюкает как лист, а все равно мапа
Как видите, в коко тоже можно выебываца как в плюсплюс и пепе и даже навернуть говна тоже можно, потому что это конечно не настоящий List, а реализовывать List (даже пусть и не мутабл) мне ленива потому что адаптеров нет
Алсо, не забываем my, чтобы не прослыть неряхами
Забавно кстати что превращение массива из двух элементов в хеш раскладывает их в ключ и значнеие (map{@$_}).
Тоже самое случается и в Ruby (to_h) и в Pythin (dict([..])), причем там массив пар поддерживается аутофбокс (а в перле надо кастить каждую пару)
Волшебства из приведенных выше япов нету только в пыхе и котлине, ну и само собой в жопаскрипте
Что какбы намекает
но ты прав: можа и так
какой все таки могучий ЯП
школоте не понять
Однако для меня радость от фич, позволявших "выражаться" богаче, со временем сменилась отторжением, поскольку конца и края нюансам видно не было. Не знаю, сколько знаний требуется, чтобы не сомневаться в своей интерпретации очередного куска кода. Спецификация Perl5 (если б существовала) потягалась бы с каким-нибудь C++25, я думаю.
страшно подумать что случится с (one => 1, ein => 1, two => 2, zwei => 2)
;)))
Мне нравится руби: это мощность перла плюс ООПшный синтаксис (где надо) и меньшее кол-во операторов
Жаль, что руби уже всё
wow such random so timtowtdi
Как всё?
Ruby 2.6.0-rc2 Released
We are pleased to announce the release of Ruby 2.6.0-rc2.
Continue Reading...
Posted by naruse on 15 Dec 2018
На завтра запланирован официальный выпуск Ruby 2.6 (уже не RC). Мацумото — ёбаный сектант, поэтому запланировал выпуск на католическое Рождество.
А на 2038-й год запланировали Ruby 3.0:
https://bugs.ruby-lang.org/versions/5
Ну ты же понимаешь, о чем я?:)
Списки смердживаются, при присвоении к хешу превращаются в ключ-значение
>There really isn't any such thing as a hash literal in Perl, but if you assign an ordinary list to a hash, each pair of values in the list will be taken to indicate one key/value association
А списковые лиреталы не подходят?
ах...
куд кудах.
Задача была преобразовать массивы пар.
То, что ты тут изобразил это конструкция языка "лист скаляров" которая может заполнять массивы (@) и хеши (%).
Причем для перла сама задача смысле не имеет потому что в массиве в перле могут лежать только скаляры!
Но в него можно покласть референс на массив.
Вот тут в массиве лежат референсы на анониманые массивы
$array_ref = [['govno', 'shit'], ['kod', 'code']];
В мапе $_ это реф на аннимный массив, а @ его дереференсит как массив
пушто
[] это синтаксис создания анонимного массива и вертания на него ссылки
{} -- синтаксис созидания ононимного хеша и вертания на него ссылки
а () что ("foo", 32) что ("foo" => 42) (стрелка -- синоним запятой) это литерал для создания массива (если lvalue с собачкой) или хеша (если оно с процентом) или вообще вертания последнего элемемента если там скаляр (ну или заполнение нескольких скаляров если их там тоже лист)
Знакотки пилять
Nous restons cinq jours à Paris.
https://ideone.com/INzFOb
https://blog.tartanllama.xyz/initialization-is-bonkers/
There is more than one way to screw it up.
Именно поэтому я за «C++».
https://en.cppreference.com/w/cpp/language/aggregate_initialization
Правда, там куча ограничений. Насколько я понял, это, например, не сработает:
Note: out-of-order designated initialization, nested designated initialization, mixing of designated initializers and regular initializers, and designated initialization of arrays are all supported in the C programming language, but are not allowed in C++.
Странно, что в сишке это реализовали, а в C++ всё ещё думают. Там могут возникнуть какие-нибудь сложности из-за особенностей языка?
Вот говорят, что машина Тьюринга и лямбда-исчисление эквивалентны для вычислений. А что с императивными программами? Как теория формализует ввод для программы?
Допустим, программа под машину Тьюринга реализует чат-бота и общается с пользователем. В этом случае часть ввода пользователя будет зависеть от вывода чат-бота.
Представим такую же программу под лямбда-исчисление. Здесь запускаемая функция
* либо требует сразу весь ввод, и пользователь вынужден у себя просчитывать ходы чат-бота,
* либо возвращает кортеж из фразы и функцию для следующего вызова,
* какое-то монадическое значение или текст программы на C - для последующего запуска.
Всё это выглядит чем-то неспортивным.
Файлы лежат на ленте...
> запросы к другим серверам
А тут согласен.
Да собственно с точки зреня обычного комптьютера тоже: в елнту можно MOV
Вообще, физически можно любой кусок ленты переписать/перечитать в любое время, пока машина на него не наехала.
Хотя, теперь мне вмешательство в ленту тоже уже начинает казаться нечестным.
"there is no spoon" (тм)
они просто перла не знают
Выводит:
Прикольно.
Выводит:
в патч Бармина
=> это запаятая
а <=> это компаратор который вертает -1, 0, 1 в зависмости от
я хз какие у них приоритеты но будет форшмак в любом случае
И что сравнения не ассоциативны, поэтому цепочка <= (без добавления круглых скобок) не сконпелируется, то бишь -0.5 <= 0.0 <= 0.5 не подразумевает ни Си-шного 1 <= 0.5, ни Перл6-ового -0.5 <= 0.0 && 0.0 <= 0.5.
ворочаеца?
чото я вас наслушался, захоетлось перечитать книги с верблюдом и пантерой и попписять на пятом перле
надеюсь, к вечеру пройдет
sub fa(Int $foo)
интерфейсы (роли), классы
нгахуй все это в скри-скрип языке? буэ
Признаюсь, сам не слежу ни за 6, ни за 5. Но совсем недавно у бабочки было обновление спецификации и реализации. Вот только от лозунга «Perl 6 is optimized for fun, short -Ofun» с их сайта веет обречённостью и печалью, кмк.
>>-Ofun
а, я понял. Perl это когда бородатый сишник решил развлечься. И пятый тоже:)
надо сначала ``sort keys``
мне кажется так делать не нужно
ты поклал в массив "писдата" один елемент -- референсу на анонмный массив "1,2,3,4,5"
Полный код доступен по ссылке: https://ideone.com/3v5Urq
Пруф: https://3v4l.org/aTW6G