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

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

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

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

Что делать, если __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
56 отв.

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

У меня есть два словаря 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
41 отв.

Как изменить массив int в Java?

Я пытаюсь изменить массив int в Java. Этот метод не отменяет массив. for(int i = 0; i < validData.length; i++) { int temp = validData[i]; validData[i] = validData[validData.length - i - 1]; validData[validData.length - i - 1] = temp;...
26 янв. '10 в 9:09
23 отв.

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

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

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

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

Что такое 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
10 отв.

"если ключ в dict" против "попробуй/кроме" - что является более читабельной идиомой?

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

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

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

Пары из одного списка

Достаточно часто я нашел необходимость обрабатывать список по парам. Мне было интересно, какой будет питонический и эффективный способ сделать это, и нашел это в Google: pairs = zip(t[::2], t[1::2]) Я думал, что это было достаточно pythonic, но по...
07 янв. '11 в 20:20
12 отв.

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

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