Как лучше всего сделать что-то вроде
local
l_pet: ANIMAL
do
l_pet := catch_it_from_the_sky
inspect l_pet
when attached {DOG} l_pet as l_dog
l_dog.eat (meat)
when attached {FISH} l_pet as l_fish
l_fish.eat (plants)
else
io.put_string ("Strange animal how do I feed him???")
end
do
компилятор жалуется на attached
после, когда...
Обновление: зачем такая необходимость?
потому что так случилось, что я запутался с повторяющимся копированием-вставкой, чего язык пытается избежать. В приведенном выше случае l_pet
записывается один раз, с N раз, если/иначе мне пришлось бы писать столько же раз, сколько если...