获取运行时代码错误:在“+”中:没有将 Integer 隐式转换为 String TypeError
num = 5;
puts ("this is number: " + num);
Run Code Online (Sandbox Code Playgroud)
实际结果:
运行时代码错误:在“+”中:没有隐式转换
Integer为StringTypeError
预期结果 - 我应该看到打印的声明 -
这是数字:5
Ale*_*kin 10
首先不要在方法名称和左括号之间放置空格。
错误的原因是不能向字符串添加数字,ruby 防止了隐式强制。人们可能会使用字符串插值:
puts "this is number: #{num}"
Run Code Online (Sandbox Code Playgroud)
或将数字显式转换为字符串:
puts("this is number: " + num.to_s)
Run Code Online (Sandbox Code Playgroud)
旁注:行尾的分号是多余的,应该避免。