Описание тега rationale

1 ответ

Обоснование Rails 5 объединяет сгенерированные по умолчанию таблицы

Команда Rails 5 rails g migration create_foo_bar_join_table генерирует следующую миграцию: class CreateFooBarJoinTable < ActiveRecord::Migration[5.0] def change create_join_table :foos, :bars do |t| # t.index [:foo_id, :bar_id] # t.index [:bar_id…
2 ответа

Дизайн базы данных, моя база данных рациональна правильно один первичный ключ для нескольких внешних ключей?

У меня есть идея, которую я хочу выполнить, и я очень сильно разбираюсь в дизайне своей базы данных, когда дело доходит до отношений между таблицами. Я хочу иметь возможность ввести 3 ингредиента в 3 <input type="text"> поля и искать все рецеп…
15 янв '13 в 13:13
3 ответа

Область видимости переменной Python

Я учу себя самому Python, и я переводил некоторый пример кода в этот class Student(object): def __init__( self, name, a,b,c ): self.name = name self.a = a self.b = b self.c = c def average(self): return ( a+b+c ) / 3.0 Что в значительной степени мое…
20 апр '10 в 18:11
8 ответов

Почему спецификатор для `float` не определен в`printf`?

Похоже, что могло бы быть, есть (по крайней мере, в C99) модификаторы длины, которые могут быть применены к int: %hhd, %hd, %ld а также %lld имею в виду signed char, short, long а также long long, Существует даже модификатор длины, применимый к doub…
2 ответа

Почему вы не можете найти RSeq?

user=> (rseq [:a :b]) (:b :a) user=> (rseq (rseq [:a :b])) ClassCastException clojure.lang.APersistentVector$RSeq cannot be cast to clojure.lang.Reversible clojure.core/rseq (core.clj:1532) Почему не могу rseq принять результат предыдущего выз…
25 май '16 в 08:10
2 ответа

Пустая структура в C против пустой структуры в C++

Почему пустая структура в C является нарушением ограничения? Почему это правило изменяется в C++? Есть ли исторические причины?
19 мар '11 в 09:20
1 ответ

Адресация кортежей в C++14 по типам - разве это не просто неверное предположение?

Страница Википедии C++14 описывает новую языковую функцию адресации кортежей по типам, с помощью которой вы можете написать: tuple<string, string, int> t("foo", "bar", 7); int i = get<int>(t); // i == 7 Ну, как правило, это терпит неуда…
18 апр '15 в 15:56
2 ответа

Обоснование семантики доступа enum в C++

Может кто-нибудь пролить свет на семантику для доступа к перечислению, определенному в классе в C++? В частности, почему члены перечисления доступны по имени класса, а не по самому перечислению? Учитывая, что enum это контейнер / область, так же, ка…
21 мар '12 в 22:57
5 ответов

C++14 Шаблоны переменных: какова их цель? Любой пример использования?

C++14 позволит создавать переменные, которые являются шаблонами. Обычным примером является переменная 'pi', которую можно прочитать, чтобы получить значение математической константы π для различных типов (3 для int; ближайшее значение возможно с flo…
10 янв '14 в 17:54
2 ответа

Java конструктор не так интуитивно понятен. Или, возможно, это не Java, это C#, который не интуитивно понятен

Учитывая этот код Java, это выводит 0 и 4: class A{ A() { print(); } void print() { System.out.println("A"); } } class B extends A{ int i = Math.round(3.5f); public static void main(String[] args){ A a = new B(); a.print(); } void print() { System.o…
16 май '12 в 03:46
5 ответов

Почему неправильно иметь многострочные функции constexpr?

Согласно Обобщенным выражениям констант - Редакция 5, следующее является незаконным. constexpr int g(int n) // error: body not just ‘‘return expr’’ { int r = n; while (--n > 1) r *= n; return r; } Это потому, что все функции "constexpr" должны им…
12 июл '10 в 06:05
5 ответов

Какой смысл в DBNull?

В.NET есть null ссылка, которая используется везде, чтобы обозначить, что ссылка на объект пуста, а затем есть DBNull, который используется драйверами базы данных (и немногими другими), чтобы обозначить... почти то же самое. Естественно, это создает…
20 дек '10 в 10:25
1 ответ

Почему я могу частично специализироваться, но не могу полностью специализировать шаблоны элементов в C++?

Правила шаблонов IMO, C++ кажутся слишком строгими, и реализация компилятора определена. Но здесь у меня есть определенное поведение, мне было трудно обернуть голову вокруг. В следующей задаче я сознательно стараюсь избегать явной специализации роди…
1 ответ

Разделение на части XML и загрузка его в реляционные таблицы

Я работаю на кредитный союз (примерно 60 тыс. Счетов). Процесс утверждения с 70-х годов, и он тесно связал данные с макетом. Короче говоря, вы запускаете задание, и оно создает текстовый файл, содержащий выписку для каждой учетной записи. Я изменил …
01 дек '10 в 14:58
2 ответа

Обоснование поиска Кенига

В чем смысл поиска Кенига? Нельзя не думать о нем как о чем-то, что делает ваш код намного сложнее для чтения и более нестабильным. Разве они не могут определить поиск Кенига так, чтобы он работал только для конкретных случаев (т. Е. Операторов, не …
05 янв '11 в 09:35
1 ответ

Зачем строить строку Clojure, используя буквенные символы?

Я только что прочитал код и наткнулся на эту строку: (str cache \, \space lru \, \space tick \, \space limit) Это странно для меня. Последовательные литеральные символы используются вместо строки, содержащей эти символы. Я ожидал бы что-то еще как э…
13 июл '14 в 00:55
1 ответ

В чем смысл фрагмента дерева результатов?

XSLT 1.0 добавляет дополнительный тип данных к предоставляемым XPath 1.0: фрагменты дерева результатов. Этот дополнительный тип данных называется фрагментом дерева результатов. Переменная может быть связана с фрагментом результирующего дерева вместо…
27 окт '18 в 16:25
1 ответ

Почему std::swap был перемещен в <утилиту>?

Почему имеет std::swap был перемещен в &lt;utility&gt; заголовок для C++ 11? N3290 C.2.7 говорит: 17.6.3.2 Эффект оригинальной функции: функция swap перенесена в другой заголовок Обоснование: удалить зависимость от &lt;algorithm&gt; для обмена. Эффе…
22 май '11 в 04:35
5 ответов

Есть ли конкретная причина, по которой в C++ не разрешены объявления вложенных пространств имен?

Стандарт не допускает такой код: namespace Hello::World { //Things that are in namespace Hello::World } и вместо этого требует namespace Hello { namespace World { //Things that are in namespace Hello::World }} Каково обоснование? Было ли это просто …
30 авг '10 в 19:14
1 ответ

Сравнение интеллектуальных указателей C++0x: непоследовательное, в чем смысл?

В C++0x (n3126) умные указатели можно сравнивать как в отношении отношений, так и в отношении равенства. Однако способ, которым это делается, кажется мне противоречивым. Например, shared_ptr определяет operator&lt; быть эквивалентным: template &lt;t…
14 окт '10 в 02:11