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

回答編集履歴

2

コメントを受け追記

2015/10/30 06:52

投稿

moredeep
moredeep

スコア1507

answer CHANGED
@@ -31,3 +31,13 @@
31
31
  は間違いで、
32
32
  「初期化していない変数 = 何もないので、存在しないものを足し算に使うことになっていまいます。」
33
33
  が正しい・・・のかな?
34
+
35
+ ---
36
+ コメントを受け追記
37
+
38
+ num_sについてですが、
39
+ num.to_sを代入するまで、文字列の変数ではありません。
40
+
41
+ 型宣言を行わない言語では、変数は初めに代入した値の型を取ります。
42
+
43
+ ですので、num_s = numとした場合、num_sは数値型になってしまいます。

1

間違いの指摘を受け加筆

2015/10/30 06:51

投稿

moredeep
moredeep

スコア1507

answer CHANGED
@@ -20,4 +20,14 @@
20
20
  上記は、「result = result + "-"」
21
21
  と同様の意味ですが、resultが初期化されていない場合、
22
22
  この処理は失敗します。
23
- (初期化していない変数 = 値が不定なので、不定な値に足し算をすることになってしまいます。)
23
+ (初期化していない変数 = 値が不定なので、不定な値に足し算をすることになってしまいます。)
24
+
25
+ ---
26
+ 上記②についてコメントにて間違いの指摘がありました。
27
+
28
+ 初期化していない変数はnilとして扱われるようです。
29
+ nilは何もない事を表す特別な値ですので、上記回答の中の、
30
+ 「初期化していない変数 = 値が不定なので、不定な値に足し算をすることになってしまいます。」
31
+ は間違いで、
32
+ 「初期化していない変数 = 何もないので、存在しないものを足し算に使うことになっていまいます。」
33
+ が正しい・・・のかな?