Вопросы по теме '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 просмотров
schedule
01.05.2022
Когда использовать каждый из 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 просмотров
schedule
22.11.2022
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 просмотров
schedule
16.04.2023
Преобразование коллекций Java в структуры данных Clojure
Я создаю интерфейс Clojure для API Java с методом, который возвращает java.util.LinkedHashSet.
Во-первых, является ли идиоматический способ обработки Clojure для преобразования LinkedHashSet в структуру данных clojure?
Во-вторых, как лучше всего...
1668 просмотров
schedule
05.01.2023
Идиома 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