ruby 代码错误:“+”没有将整数隐式转换为字符串

Dkt*_*018 3 ruby

获取运行时代码错误:在“+”中:没有将 Integer 隐式转换为 String TypeError

num = 5;
puts ("this is number: " + num);
Run Code Online (Sandbox Code Playgroud)

实际结果:

运行时代码错误:在“+”中:没有隐式转换IntegerString TypeError

预期结果 - 我应该看到打印的声明 -

这是数字: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)

旁注:行尾的分号是多余的,应该避免。