Комментарии 16
А почему скобочки не египетские?
Стоп! Скобочки египетские...
А почему скобочки египетские?
А выбрать между табами и пробелами можно? А там два символа или четыре?
Что вы ржёте? Это ВАЖНО!
А скобки вокруг усолвия в if можно? а для моего товарища не надо. И синтаксис объявления словаря адаптировать. А, если мы пишем со скобками, то наверно язык не умеет в распаковку слева от =, можно тоже убрать?
Это переводчик, а не трансформер желаний - она переводит то, что есть, между тремя каноническими формами. Каждая причуда это отдельная шкура, их комбинаторика рвёт round-trip. Threading-макросы уже запрещены по той же причине, неоднозначность ломает контракт. Вашему товарищу - отдельный патч, товарищей не бросаем.
В конце статьи так и напрашивается опрос...
Они превратили синтаксис Python в Rust! Сволочи!
Yay!.. - Fluttershy.
Уже работаю над этим :)
as rust quicksort.py
fn quicksort(items) {
if len(items) <= 1 { return items; } let pivot, *rest = items; let lo = [x for x in rest if x < pivot]; let hi = [x for x in rest if x >= pivot]; return quicksort(lo) + [pivot] + quicksort(hi); }
Экспериментальная шкура, едет в 0.1.1. "Yay!.."
Эта сортировка не упадет на большом отсортированном массиве?
никто не утверждал, что это будет эффективный in-place алгоритм и да вообще можно было позвать sort()
Да, упадёт. Опорный элемент первый, отсортированный массив - худший случай, глубина рекурсии линейная, и Python упрётся в лимит задолго до "большого". Quicksort здесь ради компактности трёх шкур, не алгоритмической добродетели
Простите мне мой французский, но "код на Lisp" - это адски бессмысленная хрень. Вы транслятор нейросеточкой писали что ли? Иначе, откуда такая бредовая структура у S-выражений? Что такое [pivot], например? Если это вектор, то что такое тогда `[x in rest]`? Если это такой синтаксис, а for - макрос, то что такое `(for [x in rest])`? Во что это должно раскрываться? Или макрос - это `list-comp`? Но тогда зачем все эти лишние скобочки?
P.S. На Си тоже бессмысленная с точки зрения Си хрень, но там можно сослаться на то, что это не Си, а это такой вот сиподобный синтаксис. Но в коде на Lisp - явно структурный бред, который даже не списать на то, что это "условный Lisp".

Отступы или скобочки? — Да