如何 return Eiffel 中的一个值或一个对象?

How to return a value or an object in Eiffel?

Result关键字是否自动识别为returnvalue/object?
要使用的正确语法是什么?
不幸的是,我无法从文档和在线的各种示例中找到明确的指示。

关键字 Result 只是一个具有保留名称的局部变量,并且能够在特征主体和相应的后置条件中使用它。退出该功能之前附加到 Result 的最后一个值是该功能 return 编辑的值。这是一个例子:

foo: SOMETHING
    do
        Result := bar
        if Result.whatever then
            qux (Result)
        else
            something_else := Result
            Result := some_other_value
        end
    ensure
        valid_result: Result.is_valid
    end

有一条有效性规则规定 Result 只能用于 return 一个值的特征,因为它在没有 return 的过程中没有意义 return任何东西。