Описание тега 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 на яве? Способ первый: статический инициализатор Способ второй: инициализатор экземпляра (анонимный подкласс) или какой-то другой метод? Каковы плюсы и минусы каждого? Вот пример, иллюстрирующий два метода:…
03 фев '09 в 15:41
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