Вопросы с тегом 'idioms'

Идиома программирования - это способ преодоления ограничения языка программирования и/или для написания часто используемого кода с целью, которая отделена от буквального значения кода. Кроме того, идиома является предпочтительным способом написания кода, когда есть более чем один очевидный способ сделать это.
36
ответов

var functionName = function() {} vs function functionName() {}

Недавно я начал поддерживать код JavaScript другого пользователя. Я исправляю ошибки, добавляю функции, а также пытаюсь привести в порядок код и сделать его более последовательным. Предыдущий разработчик использует два способа объявления функций, и...
задан 03 дек. '08 в 14:31
30
ответов

Что делать, если __name__ == "__main__": делать?

Что делает if __name__ == "__main__":? # Threading example import time, thread def myfunction(string, sleeptime, lock, *args): while True: lock.acquire() time.sleep(sleeptime) lock.release() time.sleep(sleeptime...
задан 07 янв. '09 в 7:11
52
ответов

Как объединить два словаря в одном выражении?

У меня есть два словаря Python, и я хочу написать одно выражение, которое возвращает эти два словаря, слияние. Метод update() будет тем, что мне нужно, если он вернет результат, а не изменит dict на месте. >>> x = {'a':1, 'b': 2} >>&...
задан 02 сент. '08 в 10:44
7
ответов

Как перемещаться по карте карт С++?

Как бы я прошел через std::map в С++? Моя карта определяется как: std::map< std::string, std::map<std::string, std::string> > Например, это содержит следующие данные: m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["...
задан 30 янв. '11 в 22:13
10
ответов

Как реализовать шаблон метода factory в С++ правильно

Вот эта одна вещь в С++, которая заставляла меня чувствовать себя некомфортно в течение довольно долгого времени, потому что я честно не знаю, как это сделать, хотя это звучит просто: Как реализовать метод Factory в С++ правильно? Цель: предоста...
задан 25 февр. '11 в 20:52
23
ответов

Идиома Python для возврата первого элемента или None

Я уверен, что есть более простой способ сделать это, что просто не происходит для меня. Я вызываю кучу методов, которые возвращают список. Список может быть пустым. Если список не пуст, я хочу вернуть первый элемент; в противном случае я хочу вернут...
задан 12 дек. '08 в 22:56
8
ответов

Что такое "Execute Around" идиома?

Что это за "Идущий вокруг" идиома (или подобное), о котором я слышал? Почему я могу использовать его, и почему я не хочу его использовать?
задан 04 дек. '08 в 23:36
19
ответов

Что такое pythonic способ обнаружить последний элемент цикла python for?

Я хотел бы узнать наилучший способ (более компактный и "питонический" способ) сделать специальное лечение для последнего элемента в цикле for. Существует фрагмент кода, который должен быть вызван только между элементами, будучи подавлен в последнем. ...
задан 27 окт. '09 в 14:54
15
ответов

Python: самый идиоматический способ конвертировать None в пустую строку?

Каков самый идиоматический способ сделать следующее? def xstr(s): if s is None: return '' else: return s s = xstr(a) + xstr(b) update: Я использую Tryptich предложение использовать str (s), что делает эту процедуру работ...
задан 23 июня '09 в 22:17
6
ответов

Проверьте, является ли переменная строкой в ​​Ruby

Есть ли что-то более идиоматическое, чем следующее? foo.class == String
задан 13 окт. '11 в 7:18
9
ответов

Есть ли недостаток в добавлении анонимного пустого делегата в объявление события?

Я видел несколько упоминаний об этой идиоме (включая на SO): // Deliberately empty subscriber public event EventHandler AskQuestion = delegate {}; Поверхность понятна - она ​​избегает необходимости проверять значение null перед тем, как поднимать ...
задан 04 окт. '08 в 22:41
9
ответов

Python: "if key in dict" vs. "try/except" - это более читаемая идиома?

У меня есть вопрос об идиомах и читаемости, и, по-видимому, существует столкновение философий Питона в этом конкретном случае: Я хочу построить словарь A из словаря B. Если конкретный ключ не существует в B, ничего не делайте и продолжайте. Какой с...
задан 22 дек. '10 в 21:48
12
ответов

Идиома для "для каждого, кроме последнего" (или "между каждой последовательной парой элементов" )

Каждый сталкивается с этой проблемой в какой-то момент: for(const auto& item : items) { cout << item << separator; } ... и вы получите дополнительный разделитель, которого вы не хотите в конце. Иногда он не печатает, но, скажем...
задан 13 февр. '16 в 0:51
2
ответов

Конкатенация строк с помощью Groovy

Каков наилучший (идиоматический) способ конкатенации строк в Groovy? Вариант 1: calculateAccountNumber(bank, branch, checkDigit, account) { bank + branch + checkDigit + account } Вариант 2: calculateAccountNumber(bank, branch, checkDigit, a...
задан 06 июля '12 в 12:18
22
ответов

Лучшая рубиновая идиома для "ноль или ноль"

Я ищу краткий способ проверить значение, чтобы узнать, равен ли он нулю или нулю. В настоящее время я делаю что-то вроде: if (!val || val == 0) # Is nil or zero end Но это кажется очень неуклюжим.
задан 16 окт. '08 в 20:19