1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
while true
end
while false
if true
nil
end
end
if true
while false
:foo
end
end
while a < 5
redo if b # c
end
while foo(1, 2)
# nil
end
while
# 1
# 2
true # 3
# 4
end # 5
while a.b!
if foo(3)
# 1
break # 2
# 3
elsif bar.baz
break [1], 2 # 3
elsif foo
# 1
next # 2
# 3
elsif foo < 10
next { a: 1 },
# 2
2 # 3
end
end
a while b
a while
# b
b
a while foo [
1, # 1
2, # 2
]
begin
foo
bar
end while a(1).b
## until
until true
end
until false
if true
nil
end
end
if true
until false
:foo
end
end
until foo(1, 2)
# nil
end
until
# 1
# 2
true # 3
# 4
end # 5
a until b
a until
# b
b
a until foo [
1, # 1
2, # 2
]
begin
foo
bar
end until a(1).b