4

我试图这样做:

local
    condition: BOOLEAN
    condition := true
do

像这样的东西:

local
    condition: BOOLEAN := true
do

显然两者都不起作用,但我需要在声明中初始化一个变量,因为如果执行重试指令,我不希望变量重新初始化。我查看了 Eiffel 的官方文档和教程,但它们总是在操作体中初始化变量。

4

3 回答 3

8

每个变量都在 Eiffel 中初始化,因此在本地它们都获得了默认值,对于 BOOLEAN 为 false。

请注意,对于重试,变量不会再次初始化为其默认值,因此您可以将其用于:

test
  local
    retrying: BOOLEAN
  do
    if retrying then
      do_something_else
    else
      retrying := true
      first_try
    end;
  rescue
    handle_error
    retry
  end
于 2011-11-10T20:35:24.310 回答
0
local
   condition: BOOLEAN
do
   condition := True
   ...
于 2019-08-30T13:28:05.600 回答
0

我认为你可以使用

local
condition: BOOLEAN = true
do
于 2015-10-13T11:57:17.750 回答