ruby - What's the purpose of `do` in the while loop? -


this question has answer here:

a while loop works or without do. please explain why following 2 snippets works same way.

  • without do

    i = 1 while < 5   = + 1 end 
  • with do

    i = 1 while < 5    = + 1 end 

the non-theoretical answer quite simply: because ruby syntax guide said so.

the language syntax guide defines do keyword optional both while , until loops.

from understand - , theory - allowing do optional rather required compatibility , allowing harmonic syntax within language.

i think of acknowledgment "gray" areas, things less absolute. same done in physics, light behaves both particle , wave , should acknowledge both aspects.

coming different languages , school of thought, while somewhere between pure keyword (like if) , method (like loop, defined under kernel module)

if statements not require do begin block of code , under same logic, while loops wouldn't require do keyword.

this while keyword.

on other hand, loop requires do keyword (or {block}), why shouldn't while have same semantics?

this while method (as far syntax goes).

ruby making programmer happy. allowing do optional makes programmers happy , doesn't require ruby programmer resign 1 school of thought related nature of while.


Comments