回答編集履歴
1
追記
answer
CHANGED
@@ -27,4 +27,26 @@
|
|
27
27
|
```
|
28
28
|
|
29
29
|
実行例
|
30
|
-

|
30
|
+

|
31
|
+
|
32
|
+
追記:
|
33
|
+
例外をつかうのは不自然です。例外を使わない例を示します。
|
34
|
+
```ruby
|
35
|
+
# frozen_string_literal: true
|
36
|
+
|
37
|
+
def func(exp)
|
38
|
+
puts "exp = #{exp}" # デバッグ用出力
|
39
|
+
return -1 if exp == 0 || exp == 1
|
40
|
+
|
41
|
+
loop do
|
42
|
+
sleep 0.5
|
43
|
+
ret = func(exp / 10)
|
44
|
+
return -1 if ret < 0
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
func(12_345)
|
49
|
+
```
|
50
|
+
|
51
|
+
実行例
|
52
|
+

|