回答編集履歴
1
追記
test
CHANGED
@@ -57,3 +57,47 @@
|
|
57
57
|
実行例
|
58
58
|
|
59
59
|
![イメージ説明](a3d26bae25f8d510306348189da15c00.png)
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
追記:
|
64
|
+
|
65
|
+
例外をつかうのは不自然です。例外を使わない例を示します。
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
|
69
|
+
# frozen_string_literal: true
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
def func(exp)
|
74
|
+
|
75
|
+
puts "exp = #{exp}" # デバッグ用出力
|
76
|
+
|
77
|
+
return -1 if exp == 0 || exp == 1
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
loop do
|
82
|
+
|
83
|
+
sleep 0.5
|
84
|
+
|
85
|
+
ret = func(exp / 10)
|
86
|
+
|
87
|
+
return -1 if ret < 0
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
func(12_345)
|
96
|
+
|
97
|
+
```
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
実行例
|
102
|
+
|
103
|
+
![イメージ説明](2dc423a6d5e716a725eec1b83e42e9fc.png)
|