Вопросы по теме 'syntactic-sugar'

Есть ли однострочный способ получить список ключей из словаря в отсортированном порядке?
Метод списка sort() — это функция-модификатор, которая возвращает None . Поэтому, если я хочу перебрать все ключи в словаре, я не могу сделать: for k in somedictionary.keys().sort(): dosomething() Вместо этого я должен: keys =...
6638 просмотров
schedule 04.11.2022

Как синтаксис метода public function direct(){} работает в PHP?
В данный момент я изучаю Zend Framework и наткнулся на следующий синтаксис. class Zend_Controller_Action_Helper_Redirector extends Zend_Controller_Action_Helper_Abstract { /** * Perform a redirect to an action/controller/module with...
1569 просмотров
schedule 08.06.2024

Зачем нужны скобки в статических конструкторах C#?
Учитывать: class Foo { static Foo() { // Static initialisation } } Почему () требуются в static Foo() {...} ? Статический конструктор всегда должен быть без параметров, так зачем беспокоиться? Нужны ли они, чтобы...
688 просмотров
schedule 03.04.2022

Есть ли способ реализовать функции настраиваемого языка в C #?
Некоторое время я ломал голову над этим и немного огляделся, но не смог найти обсуждения по этому поводу. Предположим, я хотел реализовать тривиальный пример, например новую конструкцию цикла: do..until Написано очень похоже на делать .. пока...
10374 просмотров
schedule 14.06.2022

Логические операторы присваивания в PHP
Я ловлю себя на том, что делаю такие вещи довольно часто: $foo = true; $foo = $foo && false; // bool(false) С побитовыми операторами вы можете использовать сокращения &= и |= : $foo = 1; $foo &= 0; // int(0)...
6846 просмотров
schedule 03.07.2023

Общие лямбда-выражения: синтаксический сахар или нет?
Приносят ли универсальные лямбда-выражения С++ 14 реальное улучшение языка или они являются своего рода синтаксическим сахаром? Бывают ли ситуации, когда [](auto param1, auto param2, /* ... */ auto paramN) { return /* ... */; } нельзя...
1088 просмотров

Удаление конструктора newtype
Чаще всего я пишу функции, которые лишают единственный конструктор нового типа, например, в следующей функции для возврата первого аргумента, который не является Nothing: process (Pick xs) = (\(First x) -> x) . mconcat . map (First . process) $...
764 просмотров

Perl readdir однострочный?
На данный момент я знаю два способа открыть и прочитать каталог в Perl. Вы можете использовать opendir , readdir и closedir или просто использовать glob для получения содержимого каталога. Пример: Использование opendir , readdir...
475 просмотров
schedule 04.02.2023

Деструктурирование присваивания — свойства объекта для переменных в C#
В JavaScript есть отличная функция, с помощью которой вы можете назначить несколько переменных из свойств объекта, используя одну краткую строку. Это называется синтаксисом деструктурирующего присваивания , который был добавлен в ЭС6. // New...
24421 просмотров
schedule 22.05.2024

Ничего не делать, когда достигнута другая сторона тернарного оператора?
Примечание. Я уже видел, как этот вопрос задавали раньше ( a , b , c ), но ни один из них не был на С#, ни полезно. Предположим, я использую тернарный оператор ? : следующим образом (чтобы ничего не делать, когда имеет место false ):...
16521 просмотров
schedule 18.12.2022

Метод Ruby Bracket с блоком
Я хотел бы определить метод [] в классе моего собственного создания, чтобы взять блок. Я сделал это следующим образом. class A def self.[](*args, &block) puts "I am calling #{block} on #{args}." block.(*args) end end Я могу...
296 просмотров
schedule 14.12.2022

Как удалить сахар из GADT?
Я читал Принуждение и роли для чайников , и автор мимоходом упомянул, что GADT — это просто синтаксический сахар. GADT — это синтаксический сахар поверх (~) , поэтому ожидайте, что GADT будут иметь номинальные параметры типа роли. Далее...
137 просмотров
schedule 14.11.2023

Аргументы ключевых слов с блокировкой
У меня есть функция, которая выглядит примерно так. def test(options \\ []) do # Fun stuff happens here :) end Он принимает несколько (необязательных) аргументов ключевого слова, включая do: . Я хотел бы иметь возможность называть это...
1753 просмотров

Инициализировать std :: map с общими значениями без дублирования
Я хочу создать статическую карту отношений, известных во время компиляции: { {k11, v1}, {k12, v1}, {k13, v1}, ... {k21, v2}, {k22, v2}, {k23, v2}, ... ... {kn1, vn}, {kn2, vn}, {kn3, vn}, ... } Это может включать много пар...
81 просмотров
schedule 09.04.2023