问题标签 [invariants]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
921 浏览

oop - 对于 OOP,不可变和不变是同义词吗?

对于 OOP,不可变和不变是同义词吗?

我有一种模糊的感觉,认为存在差异,但我不确定。

我相信不可变通常应用于对象,而不变通常应用于属性/值。

在这两种情况下,对象或变量都将保持不变且“真实”,因此它们看起来非常相似。

感谢您的任何反馈,因为我正在努力提高我对这些术语的理解的准确性,我认为我忽略了细微的差异。

0 投票
1 回答
1053 浏览

matlab - 如何计算具有不变属性的氡变换

我尝试进行 R 转换,根据科学文章“通过深度轮廓识别人类家庭活动和智能家居的 R 转换”中所写的内容,以这种方式计算:

在此处输入图像描述

在哪里

在此处输入图像描述

在 Matlab 中,我得到氡变换:

然后,根据本文所写的内容,我通过添加,对于每个角度(即 R 的列),氡变换值的平方(即,设置列,在 R 的行上)来计算 R 变换. 但是对于每一列,这个总和是相同的。我哪里错了?

谢谢你的支持。

0 投票
1 回答
404 浏览

python - PyContract PostCondition 涉及非输入参数变量

希望这将是我在该系列中的最后一个问题(我的项目快结束了,除非需求发生变化)。

我正在使用PyContract(不是PyContracts)为类方法编写一些约束。在我的一个函数中,我有一个不变量。但是,并非构成此后置条件的所有变量都是函数的输入参数;有些是函数本身范围内的局部变量(循环计数器等)。我如何/可以在合同的后置条件条款中捕获它们?

这是我一直在使用的 MWE 代码:

当 PyContract 告诉我它不知道名称garg5. 我在合同里改成arg5kwargs['arg5'],但是 PyContract 还是不知道是什么g。如何/我可以解决这个问题?

我得到的错误是:

如下添加g到后置条件声明也无济于事:

此外,有趣的是,不变检查的代码似乎根本没有运行

0 投票
1 回答
598 浏览

object - OCL 要求:对于可能的属性值范围保持不变

所以我有以下对象结构:

我需要编写一个 OCL 不变量来满足所有 Node 对象的 RSSI 值相差不超过 2 的要求。我尝试使用迭代表达式来解决它,但是因为您不能真正使用 OCL 中的变量来存储当前最大值和最小值(或者至少我不知道该怎么做)我不知道该怎么做。任何人都可以帮助我吗?

0 投票
4 回答
179 浏览

objective-c - 在 Objective-C 中维护代表不变量

我是 Objective-C 的新手,并试图弄清楚维护类的 rep 不变量的最佳方法是什么,因为异常并不是真正执行它们的适当方式。出现这种情况的一个很好的例子是在 Kochan 的Objective-C 编程中Fraction作为示例的类中,它具有这个 setter 方法:

所以说你的代表不变要求的一部分self.denominator != 0。例如,在 Java 中,强制执行该不变量的最直接方法是抛出一个IllegalArgumentExceptionif 0 被传递,但在 Objective-C 中这没有意义。另一种方法是添加一个NSError**指针参数来报告问题,但这似乎既是矫枉过正,又不适合抽象的性质——与数据库连接不同,我们不期望零分母分数在正常使用中出现。那么这里最干净的解决方案是什么?返回一个整数错误代码?还有什么我想念的吗?

0 投票
4 回答
383 浏览

c++ - 先决条件通常与不变量重叠吗?

我很难区分这两者。如果它们通常不重叠,它们有何不同?什么是先决条件但不是不变量的示例?

0 投票
0 回答
133 浏览

c# - 代码契约 - 不重写不变量

我正在使用带有代码合同的 VS2010 Ultimate。在得到意外的运行时行为后,我查看了反射器中的源代码,并意识到我的不变量没有被编译。生成的__ContractsRuntime类仅包含AssertEnsuresReportFailureRequires<TException>的定义TriggerFailure。对于我的所有子句,我对每种类型都使用[ContractInvariantMethodAttribute]了一个私有方法。Contract.Invariant(...)我对配置为装配模式的“标准合同要求”进行了完整的合同检查。

我的程序集文件包含以下程序集属性:

有没有人有这个问题或任何见解为什么我的不变量没有按预期工作?

0 投票
0 回答
504 浏览

loops - 使用循环不变量的算法正确性

我必须使用循环不变量来证明下面算法的正确性。它需要两个表示为数组的数字(倒序:1579 -> [9 7 5 1]),处理它们的乘法并将结果作为数组返回。

我真的不明白循环不变量应该为这个算法做什么。提前致谢!

0 投票
1 回答
87 浏览

compiler-construction - 编译器考试说明

我正在准备编译器考试,我在过去的论文中发现了以下两个我不知道如何回答的问题:

我知道不变量和归纳变量的含义,但我真的不知道在解释这两种解决方案方面对我的期望是什么。

如果有人帮助我解释,我将不胜感激。

谢谢!

0 投票
1 回答
1936 浏览

proof - 循环不变性和算法的证明

我将如何获得循环不变量并为以下算法证明它。