标签: contract

哪个第三方Code-by-Contract库最像MS的.NET 4.0库?

我想通过合同跳进编码.我得到了VS2010(使用C#4.0编译器),但我必须针对3.5框架.

合同库的第三方代码是什么类和接口最像.NET 4.0的类?

.net c# design-by-contract contract code-contracts

4
推荐指数
1
解决办法
396
查看次数

两个java.util.Iterators到同一个集合:他们必须以相同的顺序返回元素吗?

这更像是一个理论问题.如果我有一个c没有排序的任意集合,我java.util.Iterator通过调用c.iterator()两次得到两个,那么两个迭代器都必须以c相同的顺序返回元素吗?

我的意思是,在实践中他们可能永远都会,但他们是否被迫通过合同这样做?

谢谢,Jan

java api collections iterator contract

4
推荐指数
1
解决办法
934
查看次数

使用和不使用 `new` 关键字创建新的 Solidity 合约有什么区别

new创建新智能合约的关键字有什么用。为什么不直接省略这个关键字?

contract ethereum solidity

4
推荐指数
2
解决办法
1481
查看次数

获取公共数组变量的长度(getter)

我试图从另一个联系人获得数组的长度.怎么样?

contract Lottery {
    unint[] public bets;
}

contract CheckLottery {
    function CheckLottery() {
        Lottery.bets.length;
    }
}
Run Code Online (Sandbox Code Playgroud)

contract ethereum solidity

4
推荐指数
1
解决办法
2494
查看次数

如何在Racket中使用合同

我在Racket中写了一个免费乘法携带的PRNG.我想用来provide限制只访问我的库中的某些功能,并对它们施加合同.使用Racket文档(上面链接),我已将以下代码放在我的文件顶部:

(require data/queue)
(provide 
 (contract-out
  (make-cmwc-gen (-> (listof integer?) integer? integer? integer? procedure?))
  (make-default-cmwc-gen (-> integer? procedure?))
  (make-cmwc-gen-raw (-> queue? integer? integer? integer? procedure?))
  (init-cmwc-seed (-> integer? queue?)))) 
Run Code Online (Sandbox Code Playgroud)

但是当我在DrRacket中运行该文件时,我收到以下错误:

. contract-out: not a provide sub-form in: (contract-out (make-cmwc-gen (-> (listof 
integer?) integer? integer? integer? procedure?)) (make-default-cmwc-gen (-> integer?   
procedure?)) (make-cmwc-gen-raw (-> queue? integer? integer? integer? procedure?)) 
(init-cmwc-seed (-> integer? queue?)))
Run Code Online (Sandbox Code Playgroud)

代码抛出没有错误,否则在DrRacket中运行时没有插入上面的代码.

限制只访问源文件之外的某些功能以及在Racket中强制执行合同的正确方法是什么?

contract prng racket

3
推荐指数
1
解决办法
568
查看次数

比较方法抛出异常:比较方法违反了其一般合同

可能重复:
为什么我的比较方法抛出异常 - 比较方法违反了它的一般合同!

我有这个代码:

class TimeComparatorTipo0 implements Comparator {
@Override
public int compare(Object a, Object b) {
     String Time1   = ((DataImportedTipo0) a).ora;
     Long   VolTot1 = Long.parseLong(((DataImportedTipo0) a).volume_totale);

     String Time2   = ((DataImportedTipo0) b).ora;
     Long   VolTot2 = Long.parseLong(((DataImportedTipo0) b).volume_totale);

    if (Time1.equals(Time2))
    {          
       if ( VolTot1.compareTo(VolTot2) > 0)
         return 1;
       else
         return -1;         
    }
    else
      return Time1.compareTo(Time2);
     }
};
Run Code Online (Sandbox Code Playgroud)

有时会抛出此异常:

java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeHi(TimSort.java:868)
at java.util.TimSort.mergeAt(TimSort.java:485)
at java.util.TimSort.mergeForceCollapse(TimSort.java:426)
at java.util.TimSort.sort(TimSort.java:223)
at java.util.TimSort.sort(TimSort.java:173)
at java.util.Arrays.sort(Arrays.java:659)
at java.util.Collections.sort(Collections.java:217)
at …
Run Code Online (Sandbox Code Playgroud)

java exception contract comparator

3
推荐指数
1
解决办法
1万
查看次数

Java中接口和类之间的契约

这在Java中究竟意味着什么?

Interface定义了实现类的契约

java interface class contract

3
推荐指数
1
解决办法
341
查看次数

网络最新的松露部署

嗨,大家好我一直与soliditytruffle几天来开发合同.我正在测试使用由Ganache创建的网络RPC客户端来构建本地区块链环境.但有一件事我不明白.我按照以下步骤操作:

  • truffle deploy.我在网络上部署合同.
  • truffle test.我测试我的合同.没关系.
  • truffle deploy.我试着更新我的合同.说我"网络最新"

但是,如果我重新启动Ganache并更新我的合同truffle deploy工作(这是我不明白的事情).

为什么?有人可以向我解释一下吗?

contract blockchain solidity truffle

3
推荐指数
1
解决办法
2785
查看次数

球拍:在合同中使用的自定义谓词

我正在用球拍编写小型宠物项目,并使用Gregor lib处理日期。

我有接受两个日期(来自Gregor,而不是标准库)的函数,我想为其添加合同。合同应该说,第一个参数的日期必须小于/早于第二个参数的日期。

在Gregor中,我们可以使用(date <=?xy)或类似谓词来实现它,但是我不明白如何将其与合同结合使用。

 (contract-out
          [process-dates (->i ([x date?]
                               [y (x) (and/c date?
                                             (date>=? x))])])
Run Code Online (Sandbox Code Playgroud)

将不起作用,并且没有现成的date>=?/c谓词。

因此,我想我需要自己编写这样的谓词,因此我想知道如何去做。我已经通过球拍来源看,发现标准功能是相当复杂的重现。

有更简单的方法来实现我想要的吗?

scheme date predicate contract racket

3
推荐指数
1
解决办法
50
查看次数

AndroidResultContracts.TakePicture() 返回布尔值而不是位图

合同已更改返回 Boolean而不是Bitmap从 androidx.activity 版本 1.2.0-alpha05 开始。如何使用Boolean内置AndroidResultContracts.TakePicture()合约返回的访问和显示用户刚刚拍摄的照片?

android image contract android-activity onactivityresult

3
推荐指数
1
解决办法
1676
查看次数