回答編集履歴

2

コメントを受け追記

2015/10/30 06:52

投稿

moredeep
moredeep

スコア1507

test CHANGED
@@ -65,3 +65,23 @@
65
65
  が正しい・・・のかな?
66
66
 
67
67
 
68
+
69
+ ---
70
+
71
+ コメントを受け追記
72
+
73
+
74
+
75
+ num_sについてですが、
76
+
77
+ num.to_sを代入するまで、文字列の変数ではありません。
78
+
79
+
80
+
81
+ 型宣言を行わない言語では、変数は初めに代入した値の型を取ります。
82
+
83
+
84
+
85
+ ですので、num_s = numとした場合、num_sは数値型になってしまいます。
86
+
87
+

1

間違いの指摘を受け加筆

2015/10/30 06:51

投稿

moredeep
moredeep

スコア1507

test CHANGED
@@ -43,3 +43,25 @@
43
43
  この処理は失敗します。
44
44
 
45
45
  (初期化していない変数 = 値が不定なので、不定な値に足し算をすることになってしまいます。)
46
+
47
+
48
+
49
+ ---
50
+
51
+ 上記②についてコメントにて間違いの指摘がありました。
52
+
53
+
54
+
55
+ 初期化していない変数はnilとして扱われるようです。
56
+
57
+ nilは何もない事を表す特別な値ですので、上記回答の中の、
58
+
59
+ 「初期化していない変数 = 値が不定なので、不定な値に足し算をすることになってしまいます。」
60
+
61
+ は間違いで、
62
+
63
+ 「初期化していない変数 = 何もないので、存在しないものを足し算に使うことになっていまいます。」
64
+
65
+ が正しい・・・のかな?
66
+
67
+