簡體   English   中英

使用EIFFEL上的項目功能在HASH_TABLE中查找對象

[英]Finding a object in a HASH_TABLE using item feature on EIFFEL

我在比較HASH_TABLE中的兩個對象時遇到問題

PERSON是具有名稱,生日,關系狀態,配偶姓名,配偶ID等屬性的類。 所以基本上由屬性代碼組成:

list: HASH_TABLE[PERSON, INTEGER_64]

put(id1, id2: INTEGER_64)
local
   p1, p2: PERSON
do
   p1 := model.list.at(id)
      -- or 
   p1 := model.list.search(id)
   p1 := model.list.found_item -- same error as below
end

錯誤:分配源與目標不兼容。

所使用的功能返回“可分離的G”

我認為我應該做“如果已附加”以確保項功能返回正確的對象類型,然后進行分配? 我不確定如何投射對象。

通過調用上述功能觸發錯誤

我需要這些功能才能工作的原因是我可以更輕松地進行排序

這些特征返回detachable G因為可能找不到元素。 因此,您需要使用對象測試,例如

if
   attached model.list [id1] as p1 and then
   attached model.list [id2] as p2
then
   ... -- use p1 and p2
end

暫無
暫無

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

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