2012-05-26 17 views
7

ループと半分はいつ使うのですか?また、誰かがコードを書く方法を簡単に説明する必要がありますか?ループとハーフ制御

+13

「ループとハーフ」とは何を意味するのですか?私は以前の言葉を聞いたことがない。 –

+2

私は "ループとハーフ"(私はどちらも知らなかった)をgoogledし、これを思いついた:http://www.cs.duke.edu/~ola/patterns/plopd/loops.html#loop-それが何であるか、いつそれを使うのかを説明する半分です。 Googleはあなたの親友です。 –

+4

誰かがループの真ん中に 'break'を置いて、それを" loop and a half "という名前にしたようです。 – Alexander

答えて

9

loop-and-a-halfを使用して、ループの外側から内側にコードを繰り返さないようにします。例:

read a; 
while a != b do 
    stuff; 
    read a; 
end 

は今、私は一つだけの場所での読み取りを持って

while true do 
    read a 
    if a == b then break 
    stuff; 
end 

になります。さておき、私は変数の範囲は(aを仮定すると、このイディオムでローカル変数である)aもしばらく範囲のままである別の場合に比べて最小化されることを追加したいよう

+0

'while check(a、b):stuff' – Alexander

+0

@Alexanderこれはコードを普通に書く方法です。反復コードを避けるためにsubを作成する方が良いです。しかし、私はかなり頻繁にループと半分のパターンを実行します。 – stark

+0

@Alexanderそれは新しい値を(つまりJavaでは)割り当てることができないので、おそらく物事がアクセスしたい実際の例ではあまり役立たないでしょう。 – Voo

2

ループが終了します。可能であれば、ローカル変数の範囲を最小限に抑えることは良い方法です(Josh Bloch、Effective Java、Item 45)。

関連する問題