簡體   English   中英

了解埃菲爾循環變量/不變量

[英]Understanding Eiffel loop variant/invariant

我試圖有一個結構,它把自己談論變體和不變量變成埃菲爾循環,但不理解變體部分!

from
    l_array := <<1,2,30,60>>
    l_index := l_array.lower
invariant
    valid_local_index: l_array.valid_index (l_index) or l_index = l_array.upper + 1
until
    l_index > l_array.upper
loop
    l_item := l_array.item (l_index)
    l_index := l_index + 1
variant
    --l_index <= l_array.upper -- will never be false
    --l_index -- doesnt work
end

我認為在你的情況下,你想表達的作為變體的一部分是這樣的

l_array.upper - l_index + 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM