簡単に言えば、整数をメソッドに挿入して文字列に変換し、最初の文字を文字列に出力しようとすると、[0] スロット + 48 の数値が得られます。スロット + 48。そのスロットで番号を取得する必要があると信じているため、非常に困惑しています。例:
def print_number(num)
number = num.to_s
print number[0]
end
必ず x + 48 を受け取ります。
print_number(2) #=> 50 (Believe I should get 2)
print_number(5) #=> 53 (Believe I should get 5)
print_number(123) #=> 49 (Believe I should get 4)
print_number(42) #=> 52 (Believe I should get 5)
print_number(22) #=> 50 (Believe I should get 5)
print_number(1) #=> 49 (Believe I should get 5)
なんで?