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

рубиновые идиомы для использования параметров командной строки
Я пытаюсь подобрать Ruby, портируя Perl-программу среднего размера (не OO). Одна из моих личных идиом - устанавливать такие параметры: use Getopt::Std; our $opt_v; # be verbose getopts('v'); # and later ... $opt_v && print "something...
2652 просмотров
schedule 07.08.2022

LBYL против EAFP в Java?
Недавно я обучал себя Python и обнаружил идиомы LBYL / EAFP в отношении проверки ошибок перед выполнением кода. В Python, похоже, принятый стиль - EAFP, и он, кажется, хорошо работает с языком. LBYL ( L ook B до Y или L eap ): def...
21870 просмотров
schedule 21.08.2022

Какие ресурсы лучше всего научить писать идиоматический C #?
Я ищу что-то вроде idiomatic ruby ​​ для программистов на C # Должно: быть для людей, которые уже умеют программировать быть кратким не быть основным только что нашел лучшую ветку для этого вопроса в stackoverflow:...
1857 просмотров
schedule 15.04.2022

Идиоматический Python has_one
Я только что изобрел дурацкую вспомогательную функцию: def has_one(seq, predicate=bool): """Return whether there is exactly one item in `seq` that matches `predicate`, with a minimum of evaluation (short-circuit). """ iterator =...
548 просмотров
schedule 17.01.2024

Есть ли идиоматический способ указать значения по умолчанию для необязательных параметров в Ruby?
Есть ли более краткий и идиоматический способ написать следующий код, который используется для указания значений по умолчанию для необязательных параметров (в хэше params/options) для метода? def initialize(params={}) if params.has_key?...
363 просмотров
schedule 23.04.2023

R - идиоматический способ работы со списками фреймов данных
У меня есть 30 прогонов данных, каждый из которых хранится в отдельном файле CSV, runi.csv, i = 0:29. Допустим, я хочу собрать их все в список. Лучший способ, которым я знаю, как это сделать, это runs = list() for (i in 1:30) { runs[[i]] =...
522 просмотров
schedule 16.11.2022

Определить лаконичный класс F# с логикой пост-конструктора
Для этого определения класса: type Foo(f1: int, f2: string) = member x.F1 = f1 member x.F2 = PostProcess f2 Будет ли PostProcess (некоторая функция обработки строк) вызываться каждый раз при доступе к f2? Если ответ да, и я хочу избежать...
394 просмотров
schedule 02.08.2022

идиомы ассемблера x86
Я пытался хорошо освоить язык ассемблера x86, и мне было интересно, есть ли быстрый и короткий эквивалент movl $1, %eax . Именно тогда я подумал, что список идиом, часто используемых в языке, возможно, будет хорошей идеей. Это может включать...
7085 просмотров
schedule 31.10.2022

Что такое сторожевой объект в C ++?
Я ответил на этот вопрос и Potatoswatter тоже ответил как Современным эквивалентом C ++ был бы объект-часовой: создайте его в начале функции, с его конструктором, реализующим call (), а при возврате (или аварийном выходе) его деструктор...
4648 просмотров
schedule 01.04.2022

Можем ли мы увеличить возможность повторного использования этого шаблона защиты доступа, ориентированного на ключи?
Можем ли мы увеличить возможность повторного использования этого ориентированного на ключи шаблон защиты доступа : class SomeKey { friend class Foo; // more friends... ? SomeKey() {} // possibly non-copyable too }; class Bar...
5054 просмотров

Когда использовать каждый из T[], List‹T›, IEnumerable‹T›?
Обычно я делаю что-то вроде: string[] things = arrayReturningMethod(); int index = things.ToList<string>.FindIndex((s) => s.Equals("FOO")); //do something with index return things.Distinct(); //which returns an IEnumerable<string>...
498 просмотров
schedule 13.09.2022

Какие общие шаблоны/решения были установлены в Scala для часто встречающихся проблем
Я начну. Для заданной последовательности элементов, некоторые из которых могут содержаться несколько раз, обычно требуется подсчитать их - в виде подсчета или гистограммы. Часто цитируемое решение: ss.groupBy(identity).mapValues(_.size)...
918 просмотров

C++: варианты инициализации класса-члена без неявного конструктора по умолчанию (дополнительные ограничения в тексте вопроса)
boost::posix_time::time_duration имеет три перегрузки конструктора и не имеет неявного конструктора. Мне нужно сделать некоторые вычисления в классе, который имеет несколько членов time_duration , прежде чем я смогу их инициализировать. Все это...
129 просмотров
schedule 28.01.2023

Каков идиоматический способ связать несколько ключей/значений во вложенной карте в Clojure?
Представьте, что у вас есть такая карта: (def person { :name { :first-name "John" :middle-name "Michael" :last-name "Smith" }}) Каков идиоматический способ изменения значений, связанных как с :first-name, так и с :last-name в...
11102 просмотров
schedule 03.10.2022

Лучше вернуть None или выдать исключение при получении URL?
У меня есть вспомогательный метод Scala, который в настоящее время пытается получить URL-адрес и вернуть Option[String] с HTML-кодом этой веб-страницы. Если есть какие-либо исключения (неправильный URL-адрес, время ожидания чтения и т. д.) или если...
2691 просмотров
schedule 25.03.2023

Android: есть ли идиома для итерации через SparseArray
Я использую список уникальных идентификаторов int против списка имен пользователей в качестве таблицы быстрого поиска и решил использовать sparseArray, но я хотел бы иметь возможность время от времени печатать, чтобы регистрировать весь список для...
9678 просмотров
schedule 18.07.2022

Rails 3. Как правильно создать ресурс с вложенными атрибутами?
Я создаю свадебный веб-сайт, который позволит гостям входить в систему с кодом приглашения и отвечать на вопросы онлайн. Мои модели следующие: Приглашение class Invitation < ActiveRecord::Base attr_accessible # None are accessible #...
255 просмотров

Преобразование коллекций Java в структуры данных Clojure
Я создаю интерфейс Clojure для API Java с методом, который возвращает java.util.LinkedHashSet. Во-первых, является ли идиоматический способ обработки Clojure для преобразования LinkedHashSet в структуру данных clojure? Во-вторых, как лучше всего...
1668 просмотров

Идиома C ++ без исходного кода
Я разрабатываю довольно большую библиотеку поддержки C ++ и обнаружил, что двигаюсь к подходу, основанному только на заголовках. В C ++ это почти работает, потому что вы можете реализовать там, где вы определяете, в классах. Для шаблонных методов...
344 просмотров
schedule 25.12.2022

Perl: qx или Die
Простая задача: У меня есть скрипт со строкой: qx(wget -P $destination $file) || die "i can't download file: $file!\n"; но каждый раз (удалось это или нет) скрипт умирает. Как мне изменить его на идиоматическое поведение? (успех - живи,...
997 просмотров
schedule 23.06.2023