Описание тега idiomatic

Идиома программирования - это обычный способ написать задачу на определенном языке. Идиоматическое программирование - это использование идиом языка программирования для того, чтобы воспользоваться его достоинствами и избежать ошибок. Этот тег следует использовать в вопросах о передовых методах работы на каком-то конкретном языке.
2 ответа

Идиоматический способ обновления нескольких значений в scala.immutable.Map

Мне нужно обновить (получить и увеличить) два разных значения, привязанных к двум ключам на карте. Два ключа могут иногда совпадать. У меня есть следующий код на данный момент: // val map: Map[Int, Int] // val key1, key2: Int if (key1 == key2) { tai…
24 фев '14 в 20:41
1 ответ

Порядок аргументов функций фильтра Python

Python's filter и функции itertools.ifilter имеют следующие подписи: filter(function, iterable) itertools.ifilter(predicate, iterable) Есть ли причина разместить predicate аргумент перед iterable? В таком случае нельзя пропустить predicate аргумент …
22 дек '15 в 16:44
3 ответа

Как мне лучше научиться "не платить за то, что вы не используете"?

Я только что получил ответы на этот вопрос, который в итоге говорит мне: "Делать Х не имеет смысла, так как это заставит вас платить за вещи, которые вы не можете использовать". Мне трудно следовать этому принципу; мои инстинкты больше склоняются к …
03 фев '15 в 17:23
2 ответа

Где я могу разместить операции CRUD в приложении actjs?

В Интернете полно людей, говорящих мне, что я не так реагирую. Я уверен, что они правы, так как я только начал. Общеизвестным трюизмом является то, что реакция - это просто слой вида. Это замечательно, но это заставляет меня задуматься о том, куда м…
17 дек '17 в 12:28
5 ответов

Создать словарь из двух списков, используя объект Counter

У меня есть следующий список: name = ["Anne", "Jack", "Mary"] У меня также есть вложенный список, где каждый элемент является другим списком и связан с именем, присутствующим в индексе name список. Это показано ниже: n1 = [[0, 0, 3], [0, 5, 5], [1, …
05 дек '14 в 10:24
3 ответа

SQL-выражение для проверки, являются ли значения в столбце одинаковыми

Я хочу проверить, что все значения в столбце c1 определенной таблицы, скажем, t1, одинаковы. Я делаю это с: SELECT count(*)=1 FROM ( SELECT c1 FROM t1 GROUP BY c1) AS t1_grouped; это "правильная вещь", или есть какая-то агрегатная функция или какая-…
27 фев '14 в 08:58
5 ответов

Идиоматическое решение Scala императивного кода

Каковы некоторые идеи для выражения этой функции в "идиоматическом" Scala. Или, точнее, есть ли способ удалить локальные переменные, не жертвуя удобочитаемостью? def solve(threshold: Int)(f: Int => Int): Int = { var sum = 0 var curr = 0 while(sum…
30 дек '11 в 19:44
3 ответа

Правильный способ получить все установленные методы в Pharo

Иногда вы хотите проанализировать все методы в изображении. Один из способов сделать это - работать с CompiledMethod allInstances, Но так опасно делать, так как Вы можете использовать старые методы, которые еще не были собраны. Могут быть скомпилиро…
12 окт '16 в 09:42
0 ответов

Идиоматический Python для нетривиального понимания списка

Выполнение простого преобразования над итерируемым в Python идиоматически достигается с помощью понимания списка: y = [f(arg) for arg in args] где f это простое утверждение или функционал map если f является именованной функцией: y = map(f, args) Гв…
10 дек '14 в 16:12
9 ответов

Идиоматическая конструкция, чтобы проверить, заказана ли коллекция

С целью изучения и дальнейшего изучения этого вопроса мне по-прежнему любопытны идиоматические альтернативы явной рекурсии для алгоритма, который проверяет, упорядочен ли список (или коллекция). (Я упрощаю это, используя оператор для сравнения и Int…
21 окт '11 в 16:33
5 ответов

Лучший способ проверить, больше ли значение, меньше или равно нулю в питоне

У меня есть функция, которая смотрит, если значение больше, меньше или равно нулю и в зависимости от результата возвращает один из трех цветов. Также, если присутствует определенный атрибут, он не возвращает один из трех цветов, а отдельный четверты…
17 апр '14 в 09:01
1 ответ

Как избежать повторения с лево-правыми дочерними элементами дерева в C++

Я хотел избежать повторения моего if-else дважды (один раз для левого, один раз для правого, одинаково), поэтому я сделал это, что выглядит очень недиоматично: MovieNode** child = title < parent->title ? &parent->left : &parent->…
07 мар '16 в 23:23
2 ответа

Идиоматическое удаление элементов списка в скобках

Как создать новый список, в котором есть все элементы старого списка, за исключением некоторых частей, заключенных в скобки между строкой, где f1(start_line) - true, а f2(end_line) - true Наивный код def remove_bracketted(orig_list) ignore_flag = fa…
28 янв '14 в 10:54
2 ответа

Идиоматический способ дешево удалить элемент из произвольного контейнера?

Все контейнеры стандартной библиотеки C++ имеют insert() Способ; пока они не все имеют remove() метод, который не принимает никаких аргументов, но выполняет самое дешевое удаление в произвольном порядке. Теперь, конечно, это будет действовать по-раз…
03 авг '17 в 08:48
1 ответ

Memcpy()- как функция для битовых векторов?

У меня есть вектор битов, и я хочу скопировать его фрагмент в другой вектор (скажем, для простоты, в начало другого вектора). Обратите внимание, что все биты, возможно, должны быть смещены (или, скорее, повернуты) в некотором направлении, а не тольк…
11 сен '14 в 17:03
1 ответ

Какой метод ClojureScript является более идиоматическим для печати на консоли?

У меня есть два варианта печати на консоль в ClojureScript. Что является более идиоматическим? (.log js/console "Hello World!") или же (enable-console-print!) (println "Hello world!") Мой вопрос: какой метод ClojureScript является более идиоматическ…
01 фев '15 в 09:20
41 ответ

Как я могу инициализировать статическую карту?

Как бы вы инициализировали статический Map на яве? Способ первый: статический инициализатор Способ второй: инициализатор экземпляра (анонимный подкласс) или какой-то другой метод? Каковы плюсы и минусы каждого? Вот пример, иллюстрирующий два метода:…
1 ответ

Что означает "sizeof type T на моем устройстве (ах) CUDA"?

Размеры типов на устройствах CUDA теоретически могут отличаться от их размеров на платформе хоста. Итак, каков идиоматический способ выражения "sizeof(T) на моем устройстве CUDA" в коде, кроме как сворачивание вашей собственной карты идентификаторов…
22 май '16 в 08:27
1 ответ

Идиоматический способ перебора карты, "изменение" каждого значения и возвращение карты?

(def m {:a 1 :b 2 :c 3}) Допустим, я хочу, чтобы каждое значение в m быть увеличен. Единственный способ сделать это - (into {} (map (fn [[key val]] [key (inc val)]) m)) Есть лучший способ сделать это? Мне нужно сделать это много в моем коде, и это в…
15 мар '15 в 01:59
3 ответа

Идиоматический питон, управление аргументами по умолчанию в функциях

Я обычно сталкиваюсь с тем, что большинство людей управляют значениями аргументов по умолчанию в функциях или методах следующим образом: def foo(L=None): if L is None: L = [] Однако я вижу, что другие люди делают что-то вроде: def foo(L=None): L = L…
05 май '13 в 16:26