如何在Eiffel的声明中初始化局部变量?

时间:2011-11-10 19:52:25

标签: variables eiffel

我试着这样做:

local
    condition: BOOLEAN
    condition := true
do

这样的事情:

local
    condition: BOOLEAN := true
do

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

3 个答案:

答案 0 :(得分:7)

每个变量都在Eiffel中初始化,因此在本地它们都会得到它们的默认值,对于BOOLEAN来说这是假的。

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

test
  local
    retrying: BOOLEAN
  do
    if retrying then
      do_something_else
    else
      retrying := true
      first_try
    end;
  rescue
    handle_error
    retry
  end

答案 1 :(得分:0)

我认为你可以使用

local
condition: BOOLEAN = true
do

答案 2 :(得分:0)

local
   condition: BOOLEAN
do
   condition := True
   ...