2

私は OCL が初めてで、事前条件と事後条件がどのように機能するかについて疑問があります。

if then ステートメント内に事後​​条件を配置できますか?

たとえば、次のコードは有効ですか、それとも概念を混ぜているだけですか?

Context [some context here]
if ( 
... some conditions...
) then ( 
result = 1
post: self.isComplete() -- for example
)
endif

ご助力ありがとうございます

4

3 に答える 3

3

私はそれを次のように書き直します:

Context MyContext :: Integer
    post :
        if <some condition>
        then
            result = 1
        endif

さらに条件が必要な場合は、次の方法でこれを行うことができます。

Context MyContext :: Integer
    post :
        if <some condition>
        then
            -- Another condition
            if self.isComplete()
            then
                result = 1
            else
               result = 0
            endif
        else
            result = 0
        endif
于 2013-10-27T13:33:16.470 に答える