에펠에서 과제를 수행하고 있으며 확실한 규정을 구현하는 데 문제가 있습니다. 변수 또는 함수를 포함해야하는 특수 구문이 있습니까?에펠의 절을 확인하십시오
이 내 코드는
put(key: K; value: V)
require
key /= void
local
tmp:ITEM[K,V]
do
create tmp.make(key, value)
list.put_front (tmp)
count := count + 1
ensure
count = old count + 1 and list.has(key, value)
end
이
has(key:K; val:V):BOOLEAN
require
key /= void
local
flag: INTEGER
do
flag := 0
from
list.start
until
list.exhausted
loop
if list.item.getkey = key then
if list.item.getvalue = val then
flag := 1
end
end
list.forth
end
if flag = 1 then
Result := true
else
Result := false
end
ensure
--???
end
할당을 통해지도 ADT를 구현하는 것입니다 '있다'기능의 코드 내 '넣어'기능에 대한 순간입니다 연결된 목록. 'put'함수는 항목 (키, 값)을 목록에 삽입합니다. 'has'함수는 목록에 (키 값) 쌍이 들어 있는지 검사합니다.
도움이 될 것입니다.
정확한 문제는 무엇인가요? 컴파일 오류입니까? –