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

В информатике предикат называется инвариантом последовательности операций при условии, что: если предикат истинен до начала последовательности, то он истинен в конце последовательности.
1 ответ

Как опустить программные точки в инвариантном детекторе Daikon?

Я использую Daikon (вероятный программный детектор инвариантов) для генерации инвариантов для простого Java-класса различными методами. Я хотел опустить несколько методов из этого класса, которые я достиг с помощью следующей команды: java daikon.Chi…
10 апр '14 в 14:30
2 ответа

Есть ли смысл выбрасывать частное исключение?

Я хочу выдать исключение времени выполнения в случае, если мои инварианты класса признаны недействительными. Поскольку это ошибка программирования (аналогичная исключению NullPointerException), клиенты не должны перехватывать это исключение. Должен …
4 ответа

Принудительное использование Getter / Setter в одном классе (C++)

Есть ли способ в C++ для обеспечения использования методов получения или установки в пределах класса? class C{ private: int x; // should only be Changed by setX(); private: setX(int i){ (...) // enforce some complicated invariantes x = i; }; m(){ x …
25 авг '11 в 08:16
1 ответ

Как я могу печатать для коллекции<? супер некоторые>?

У меня есть метод, похожий на этот. public void some(..., Collection&lt;? super Some&gt; collection) { // WOOT, PECS!!! final Stream&lt;Some&gt; stream = getStream(); stream.collect(toCollection(() -&gt; collection)); } И как я могу сделать так, что…
13 июл '18 в 04:48
3 ответа

Применяются ли инварианты к объектам без состояния?

Я читаю об инвариантах и ​​не уверен, что полностью это понял. Из Википедии, Инвариант класса ограничивает состояние, хранимое в объекте. Так что, если я правильно понял, инварианты не применяются к объектам без состояния, потому что нет никаких огр…
31 дек '14 в 13:07
2 ответа

Можно ли считать это утверждение классовым инвариантом?

Это очень общая мысль, но давайте использовать C# в этом примере. При условии У меня одноразовый класс Foo реализует IDisposable, Foo имеет логический флаг disposed это ложно, пока Dispose называется, после чего это правда. Все публичные методы Foo …
7 ответов

Петлевой инвариант линейного поиска

Как видно из раздела Введение в алгоритмы ( http://mitpress.mit.edu/algorithms), в упражнении говорится следующее: Вход: массив A[1...n] Вывод: i, где A[i]=v или NIL, если не найден Напишите псевдокод для LINEAR-SEARCH, который просматривает последо…
07 апр '11 в 17:20
0 ответов

Что Инварианты в Классах означают в Цели C?

Мне попалось слово инварианты. Из утверждения: не ломайте инварианты суперкласса. (Это основано на WWDC15 Video - протоколно-ориентированное программирование. Это обсуждение навязчивого наследования классов, и если оно содержит сохраненные свойства,…
10 сен '15 в 05:01
3 ответа

Что такое инвариант класса в Java?

Я погуглил тему, но кроме Википедии я не нашел больше полезной документации или статей. Кто-нибудь может объяснить мне в простых словах, что это значит, или отослать меня к какой-нибудь красивой и понятной документации?
17 янв '12 в 22:00
2 ответа

Написание факториальной функции со списками

Хотя я считаю, что нашел надежный алгоритм для своей функции (факториал), я очень озадачен тем, почему он работает бесконечно. Вот мой код: declare fun{Fact N} local M=1 in %I suppose it loops from here?? local FactT in %But the function call starts…
16 окт '14 в 12:38
2 ответа

React Native - Инвариантное Нарушение

Итак, я создал компонент Spinner и продолжаю получать инвариантное нарушение. Составная часть: import React from 'react'; import { View, ActivityIndicator } from 'react-native'; const Spinner = ({ size }) =&gt; { return ( &lt;View style={ styles.spi…
1 ответ

Может кто-нибудь объяснить, почему эта операция недействительна?

Сегодня я читал о ковариации и контравариантности и натолкнулся на статью об обмене стека, где Джон Скит объяснял инвариантность на уровне класса. Он использовал пример с фруктами, и почему допустить ковариацию на этом уровне было бы плохо: //Bad Li…
01 май '13 в 13:02
1 ответ

Инвариант класса для обеспечения того, чтобы определенный тип данных в поле не содержал

Учитывая следующий код: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics.Contracts; using System; public class Program { public int[] ints = new int[1000]; [ContractInvariantMethod] priva…
20 дек '18 в 15:52
2 ответа

Uncaught Invariant Violant: обнаружена мутация состояния между отправками,

Я пытаюсь отобразить только сегмент массива запросов, которые я отобразил из состояния в подпорки моего компонента контейнера (используя mapStateToProps). Для этого я использую оператор распространения Array.slice, а затем перебираю суб-массив для с…
03 авг '16 в 01:58
1 ответ

Ограничение OCL с использованием классификаторов Ecore - исключение неизвестного типа

Я разрабатываю модель Ecore с некоторыми инвариантами, определенными в OCL, используя редактор OCLinEcore. В моей модели некоторые элементы имеют ссылки на EClassifier; в некоторых ограничениях OCL мне нужно проверить, является ли упомянутый EClassi…
07 июн '12 в 09:12
2 ответа

Что представляет собой допустимое состояние для "перемещенного" объекта в C++11?

Я пытался обдумать, как семантика перемещения в C++11 должна работать, и у меня возникли большие проблемы с пониманием того, какие условия должен выполнять перемещаемый объект. Глядя на ответ здесь, на самом деле не решаю мой вопрос, потому что не м…
23 авг '12 в 15:23
1 ответ

Почему универсальный тип не работает с Inheritance в scala?

Итак, вот код: package week4 object expr { abstract class Expr[T] { def eval:T = this match { case Number(x) =&gt; x case Sum(e1, e2) =&gt; e1.eval + e2.eval } def show: String = this match { case Number(x) =&gt; "" + x case Sum(e1, e2) =&gt; "(" + …
22 июл '16 в 14:00
2 ответа

Экспорт только модуля или метода установки из модуля

Есть ли способ для меня экспортировать только определенные геттеры или сеттеры из модуля с объективом? Например, давайте предположим, что структура данных имеет инвариант всегда &gt;= 0изменяемый только путем увеличения его и создаваемый только с на…
14 дек '14 в 23:09
2 ответа

Инвариант цикла для функции для вычисления факториалов

Мне трудно правильно определить инвариант цикла для следующей функции: F(y) X &lt;-- 1 while (y &gt; 1) do x &lt;-- x * y y &lt;-- y - 1 return (x) Я определил инвариант цикла, чтобы быть x = 1 OR x = y! поскольку это утверждение верно как предварит…
2 ответа

Как прочитать синтаксис для вставки дерева Брауна?

В разделе о вставке в деревья Брауна книги " Проверенное программирование в Агде" (стр. 118) автор дает некоторое объяснение того, что должен делать код, но оставляя в стороне то, что он делает, в качестве основного упущения в книге. не объясняет ст…
21 ноя '16 в 10:30