Запитання з тегом «idioms»

Ідіома програмування - це спосіб подолати обмеження мови програмування та / або написати загальновживаний код із метою, яка відокремлена від буквального значення коду. Крім того, ідіома є кращим способом написання коду, коли існує більше ніж один очевидний спосіб це зробити.

30
var functionName = function () {} vs function functionName () {}
Нещодавно я почав підтримувати чужий код JavaScript. Я виправляю помилки, додаю функції, а також намагаюся виправити код і зробити його більш послідовним. Попередній розробник використовував два способи оголошення функцій, і я не можу розробитись, чи є причина для цього чи ні. Два способи: var functionOne = function() { // Some …

30
Що робити, якщо __name__ == "__main__": зробити?
На цей питання є відповіді на Stack Overflow на російському : Що робити, якщо __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) if __name__ == "__main__": lock = …

10
Як правильно реалізувати заводський шаблон методу в C ++
Є одна річ у С ++, яка змушує мене відчувати себе незручно досить довго, тому що я, чесно кажучи, не знаю, як це зробити, хоча це звучить просто: Як правильно реалізувати заводський метод у C ++? Мета: зробити можливим дозволити клієнтові інстанціювати який-небудь об’єкт за допомогою заводських методів замість конструкторів …

16
Отримайте ключ, що відповідає мінімальному значенню в словнику
Якщо у мене є словник Python, як мені отримати ключ до запису, який містить мінімальне значення? Я думав про щось, що стосується min()функції ... З огляду на вхід: {320:1, 321:0, 322:3} Це повернеться 321.

9
Як я можу переглядати карти C ++ на картах?
Як я можу пройти цикл через std::mapC ++? Моя карта визначена як: std::map< std::string, std::map<std::string, std::string> > Наприклад, вищевказаний контейнер містить такі дані: m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["name2"]["value1"] = "data1"; m["name2"]["value2"] = "data2"; m["name3"]["value1"] = "data1"; m["name3"]["value2"] = "data2"; Як я можу перейти через цю карту і отримати …

23
Ідіома Python для повернення першого елемента або None
Я впевнений, що є простіший спосіб зробити це, який мені просто не приходить. Я закликаю купу методів, які повертають список. Список може бути порожнім. Якщо список не порожній, я хочу повернути перший елемент; інакше я хочу повернути жодного. Цей код працює: my_list = get_list() if len(my_list) > 0: return my_list[0] …

30
Як повернути масив int на Java?
На цей питання є відповіді на Stack Overflow на російському : Як перевернути массив в Джаве? Я намагаюся змінити масив Int на Java. Цей метод не повертає масив. for(int i = 0; i < validData.length; i++) { int temp = validData[i]; validData[i] = validData[validData.length - i - 1]; validData[validData.length - …
238 java  arrays  idioms  idiomatic 

21
Який пітонічний спосіб виявити останній елемент у циклі 'for'?
Я хотів би знати найкращий спосіб (більш компактний і «пітонічний») зробити спеціальну обробку для останнього елемента в циклі for. Є фрагмент коду, який слід викликати лише між елементами, придушуючись в останньому. Ось як я зараз це роблю: for i, data in enumerate(data_list): code_that_is_done_for_every_element if i != len(data_list) - 1: code_that_is_done_between_elements …

16
Python: самий ідіоматичний спосіб перетворення None у порожній рядок?
Який самий ідіоматичний спосіб зробити наступне? def xstr(s): if s is None: return '' else: return s s = xstr(a) + xstr(b) update: Я включаю пропозицію Tryptich використовувати str (s), що робить цю рутинну роботу для інших типів, крім рядків. Мене дуже вражає лямбдаська пропозиція Віная Саджіпа, але я хочу …
156 string  python  idioms 



9
Пари з одного списку
Досить часто я виявляв необхідність обробляти список парами. Мені було цікаво, який би був пітонічний та ефективний спосіб зробити це, і знайшов це в Google: pairs = zip(t[::2], t[1::2]) Я вважав, що це досить пітонічно, але після недавньої дискусії про ідіоми та ефективність я вирішив зробити кілька тестів: import time …
98 python  list  zip  slice  idioms 

10
`if key in dict` проти` try / Osim` - яка читабельніша ідіома?
У мене питання про ідіоми та читабельність, і, здається, у цьому конкретному випадку існує сутичка філософії Python: Я хочу побудувати словник A зі словника B. Якщо певний ключ не існує в B, тоді нічого не робіть і продовжуйте далі. Який шлях кращий? try: A["blah"] = B["blah"] except KeyError: pass або …

3
Конкатенація рядків із Groovy
Який найкращий (ідіоматичний) спосіб об’єднання рядків у Groovy? Варіант 1: calculateAccountNumber(bank, branch, checkDigit, account) { bank + branch + checkDigit + account } Варіант 2: calculateAccountNumber(bank, branch, checkDigit, account) { "$bank$branch$checkDigit$account" } Я заснував цікаву думку щодо цієї теми на старому веб-сайті Groovy: речі, які ви можете робити, але краще …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.