簡體   English   中英

如何在Eiffel的聲明中初始化局部變量?

[英]How to initialize a local variable in its declaration in Eiffel?

我試着這樣做:

local
    condition: BOOLEAN
    condition := true
do

這樣的事情:

local
    condition: BOOLEAN := true
do

顯然既不起作用,但我需要在聲明中初始化變量,因為如果執行重試指令,我不希望變量重新初始化。 我查看了Eiffel的官方文檔和教程,但它們始終將操作體中的變量初始化。

每個變量都在Eiffel中初始化,因此在本地它們都獲得默認值,對於BOOLEAN來說是假的。

請注意,對於重試,變量不會再次初始化為其默認值,因此您可以將其用於:

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

我想你可以用

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

暫無
暫無

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

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