标签: eiffel

在调用例程之后和之前在哪里评估不变量?

在契约式设计中,类不变量必须在两种情况下满足:创建对象之后和调用例程之后。是否有任何示例或条件,我也必须在调用例程之前进行评估?

.net eiffel invariants code-contracts

2
推荐指数
1
解决办法
151
查看次数

如何使用Eiffel功能?

所以我才开始学习埃菲尔.我正在使用的书中的第一个练习之一就是创建一个基本^ exp而不使用^的函数.我在下面复制了我的代码.

class
    APPLICATION

inherit
    ARGUMENTS

create
    make

feature {NONE} -- Initialization

    make
            -- Run application.
        do
            create power(2;3)
            printf("2 to the power of 3 is " + answer)
        end

    power(base : REAL; exp : INTEGER) : REAL
        -- computers base raised to the bower of exp without using ^
        local
            remain : INTEGER
        do
            remain := exp
            if remain = 0 then
                result := 1
            else
                from
                until
                    remain = 0
                loop
                    result := result * result
                    remain := …
Run Code Online (Sandbox Code Playgroud)

eiffel function

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

Eiffel 重新定义的函数可以定义自己的断言吗?

我需要知道 Eiffel 中重新定义的函数是否可以定义自己的断言。

eiffel assertions

0
推荐指数
1
解决办法
151
查看次数

埃菲尔异常无法正常工作

我正在尝试使用下面的类中的异常,但是当我调用该kivetel方法时,程序总是失败。我认为它只会调用重试部分,而不是满足后置条件。但是它失败,并带有“ y_above_zero”后置违规。

class
KEYWORDS
create
    make
feature
    y:INTEGER

make
do
end

kivetel
do
ensure
    y__above_zero: y > 0
rescue
    y := 20
    retry
end
end
Run Code Online (Sandbox Code Playgroud)

eiffel exception rescue post-conditions

0
推荐指数
1
解决办法
161
查看次数