- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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)
А как превратить массив пар ключ-значение в ассоциативный на Вашем языке?
1024-- 23.12.2018 22:00 # +3
Lorip1971 24.12.2018 17:02 # 0
guest8 24.12.2018 17:09 # −999
guest8 24.12.2018 17:30 # −999
1024-- 24.12.2018 18:48 # 0
Подобная питушня вида x == true ? true : false легко выкомпиливается.
В случае той же сишки такую простую питушню человек перестаёт писать после достижения определённой стадии образованности, и оптимизатору нужно работать с менее тривиальным кодом, примеры для начинающих компилятор уже должен щёлкать как орешки.
bormand 24.12.2018 18:52 # 0
Для этого нужно всего лишь формально доказать что читать далее.
К слову, ни parse(stringify()) ни stringify(parse()) нельзя выбросить.
1024-- 24.12.2018 19:09 # 0
Точно. Именно поэтому я за композицию из трёх питушень.
Кстати, x ? true : false в JS/python ведь тоже нельзя выбросить :)
bootcamp_dropout 24.12.2018 19:12 # 0
А как же ?
bormand 24.12.2018 19:15 # 0
1024-- 24.12.2018 19:24 # 0
Проверка на бульность не трогает внутренности объекта. Даже если его valueOf/toSring бросает исключение, ничего не будет.
guest8 24.12.2018 19:30 # −999
1024-- 24.12.2018 19:31 # 0
guest8 24.12.2018 20:06 # −999
guest8 24.12.2018 20:19 # −999
guest8 24.12.2018 23:10 # −999
1024-- 24.12.2018 19:20 # 0
1024-- 24.12.2018 18:41 # 0
Ещё можно переписать рекурсивно, с конкатенацией и join через свёртку, которую тоже рекурсивно написать. Может, потом ещё через транслятор в JSFUCK прогнать.
guest8 24.12.2018 18:48 # −999
bormand 24.12.2018 18:58 # 0
guest8 24.12.2018 19:01 # −999
bormand 24.12.2018 19:05 # 0
guest8 24.12.2018 19:08 # −999
1024-- 24.12.2018 19:18 # +1
На самом деле, я слошарил и ничего интересного в eval не передал. Там фактически будет сджойненная строка с жсонами пар. Надо так:
bootcamp_dropout 24.12.2018 20:25 # +1
guest8 24.12.2018 00:56 # −999
guest8 24.12.2018 01:12 # −999
antox 24.12.2018 01:22 # 0
guest8 24.12.2018 01:36 # −999
guest8 24.12.2018 01:41 # −999
guest8 24.12.2018 01:45 # −999
guest8 24.12.2018 01:56 # −999
guest8 24.12.2018 02:06 # −999
guest8 24.12.2018 02:15 # −999
guest8 24.12.2018 02:17 # −999
guest8 24.12.2018 02:17 # −999
guest8 24.12.2018 02:21 # −999
guest8 24.12.2018 02:53 # −999
guest8 24.12.2018 03:57 # −999
guest8 24.12.2018 01:38 # −999
antox 24.12.2018 02:10 # 0
guest8 24.12.2018 02:16 # −999
antox 24.12.2018 04:03 # 0
Однако для меня радость от фич, позволявших "выражаться" богаче, со временем сменилась отторжением, поскольку конца и края нюансам видно не было. Не знаю, сколько знаний требуется, чтобы не сомневаться в своей интерпретации очередного куска кода. Спецификация Perl5 (если б существовала) потягалась бы с каким-нибудь C++25, я думаю.
guest8 24.12.2018 04:10 # −999
antox 24.12.2018 04:34 # 0
wow such random so timtowtdi
guest8 24.12.2018 04:46 # −999
antox 24.12.2018 05:12 # 0
guest8 24.12.2018 14:33 # −999
guest8 24.12.2018 17:48 # −999
guest8 24.12.2018 17:50 # −999
guest8 24.12.2018 20:38 # −999
antox 24.12.2018 21:41 # 0
guest8 24.12.2018 21:51 # −999
guest8 24.12.2018 22:30 # −999
guest8 25.12.2018 02:00 # −999
guest8 25.12.2018 03:12 # −999
guest8 25.12.2018 05:30 # −999
roman-kashitsyn 24.12.2018 01:39 # 0
Nous restons cinq jours à Paris.
guest8 24.12.2018 01:40 # −999
guest8 24.12.2018 01:46 # −999
roman-kashitsyn 24.12.2018 01:36 # 0
gost 24.12.2018 16:23 # 0
https://ideone.com/INzFOb
gost 24.12.2018 16:25 # +2
guest8 24.12.2018 17:14 # −999
antox 24.12.2018 19:40 # +1
eszett 25.12.2018 07:54 # +2
https://en.cppreference.com/w/cpp/language/aggregate_initialization
Правда, там куча ограничений. Насколько я понял, это, например, не сработает:
guest8 25.12.2018 12:33 # −999
Lorip1971 24.12.2018 17:03 # 0
Her 24.12.2018 16:26 # 0
guest8 24.12.2018 16:30 # −999
Morgoth 24.12.2018 16:44 # 0
guest8 24.12.2018 16:47 # −999
guest8 24.12.2018 17:11 # −999
1024-- 24.12.2018 19:07 # 0
Вот говорят, что машина Тьюринга и лямбда-исчисление эквивалентны для вычислений. А что с императивными программами? Как теория формализует ввод для программы?
Допустим, программа под машину Тьюринга реализует чат-бота и общается с пользователем. В этом случае часть ввода пользователя будет зависеть от вывода чат-бота.
Представим такую же программу под лямбда-исчисление. Здесь запускаемая функция
* либо требует сразу весь ввод, и пользователь вынужден у себя просчитывать ходы чат-бота,
* либо возвращает кортеж из фразы и функцию для следующего вызова,
* какое-то монадическое значение или текст программы на C - для последующего запуска.
Всё это выглядит чем-то неспортивным.
bormand 24.12.2018 19:11 # 0
guest8 24.12.2018 19:13 # −999
bormand 24.12.2018 19:13 # 0
guest8 24.12.2018 19:15 # −999
bormand 24.12.2018 19:17 # 0
Файлы лежат на ленте...
> запросы к другим серверам
А тут согласен.
guest8 24.12.2018 19:21 # −999
1024-- 24.12.2018 19:30 # 0
Вообще, физически можно любой кусок ленты переписать/перечитать в любое время, пока машина на него не наехала.
bormand 24.12.2018 19:32 # 0
1024-- 24.12.2018 19:36 # 0
Хотя, теперь мне вмешательство в ленту тоже уже начинает казаться нечестным.
bormand 24.12.2018 19:12 # 0
guest8 24.12.2018 19:17 # −999
1024-- 24.12.2018 19:36 # 0
guest8 24.12.2018 19:38 # −999
Her 24.12.2018 18:13 # 0
guest8 24.12.2018 18:15 # −999
Her 24.12.2018 18:23 # 0
guest8 24.12.2018 18:30 # −999
Her 24.12.2018 18:47 # 0
"there is no spoon" (тм)
guest8 24.12.2018 18:33 # −999
guest8 24.12.2018 20:41 # −999
guest8 25.12.2018 06:05 # −999
guest8 25.12.2018 06:14 # −999
guest8 25.12.2018 06:20 # −999
antox 25.12.2018 17:44 # 0
в патч Бармина
antox 25.12.2018 17:42 # 0
guest8 25.12.2018 17:53 # −999
antox 25.12.2018 18:39 # 0
И что сравнения не ассоциативны, поэтому цепочка <= (без добавления круглых скобок) не сконпелируется, то бишь -0.5 <= 0.0 <= 0.5 не подразумевает ни Си-шного 1 <= 0.5, ни Перл6-ового -0.5 <= 0.0 && 0.0 <= 0.5.
guest8 25.12.2018 18:50 # −999
guest8 25.12.2018 18:52 # −999
antox 25.12.2018 19:04 # 0
Признаюсь, сам не слежу ни за 6, ни за 5. Но совсем недавно у бабочки было обновление спецификации и реализации. Вот только от лозунга «Perl 6 is optimized for fun, short -Ofun» с их сайта веет обречённостью и печалью, кмк.
guest8 25.12.2018 19:16 # −999
guest8 25.12.2018 18:41 # −999
guest8 25.12.2018 18:42 # −999
antox 25.12.2018 18:45 # 0
guest8 25.12.2018 18:46 # −999
guest8 25.12.2018 17:50 # −999
gost 25.12.2018 08:37 # 0
Полный код доступен по ссылке: https://ideone.com/3v5Urq
denisyukphp 30.12.2018 20:49 # 0
Пруф: https://3v4l.org/aTW6G
6A9lHuCT 01.01.2019 00:59 # −102
guest8 28.06.2019 21:52 # −999