回答編集履歴

1

追記

2021/10/09 01:30

投稿

katoy
katoy

スコア22324

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)