質問するログイン新規登録

回答編集履歴

1

追記

2021/10/09 01:30

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -27,4 +27,26 @@
27
27
  ```
28
28
 
29
29
  実行例
30
- ![イメージ説明](a3d26bae25f8d510306348189da15c00.png)
30
+ ![イメージ説明](a3d26bae25f8d510306348189da15c00.png)
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
+ ![イメージ説明](2dc423a6d5e716a725eec1b83e42e9fc.png)