Ruby on rails 在Ruby中添加两个变量,使它们成为一个字符串,中间有一个空格
因此,我尝试在同一行中输出两个带空格的字符串变量,但得到以下错误: 在“+”中:没有将Fixnum隐式转换为字符串TypeError 对于以下代码Ruby on rails 在Ruby中添加两个变量,使它们成为一个字符串,中间有一个空格,ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,我尝试在同一行中输出两个带空格的字符串变量,但得到以下错误: 在“+”中:没有将Fixnum隐式转换为字符串TypeError 对于以下代码 puts s1 + " " + s2 如何修复此代码以在同一行上打印带空格的字符串变量s1的值和字符串变量s2的值?比如说 s1 = "hello" s2="world" output "Hello world" 您可以通过以下方式执行此操作: puts "#{s1} #{s2}" 以及: 以下是上面实现的代码段示例: s1, s2 = "h
puts s1 + " " + s2
如何修复此代码以在同一行上打印带空格的字符串变量s1的值和字符串变量s2的值?比如说
s1 = "hello" s2="world" output "Hello world"
您可以通过以下方式执行此操作:
puts "#{s1} #{s2}"
以及:
以下是上面实现的代码段示例:
s1, s2 = "hello", "world"
puts "#{s1} #{s2}"
=> "hello world"
puts [s1, s2].join(" ")
=> "hello world"
您可以通过以下方式执行此操作:
puts "#{s1} #{s2}"
以及:
以下是上面实现的代码段示例:
s1, s2 = "hello", "world"
puts "#{s1} #{s2}"
=> "hello world"
puts [s1, s2].join(" ")
=> "hello world"
尝试:
将s1.to_s++s2.to_s
看起来至少有一个变量包含数值int请尝试:
将s1.to_s++s2.to_s
看起来至少有一个变量包含数值intRuby不是JavaScript是一个方法,而不是一个运算符。@CodeGnome,有人可能会说两者都是。我在Ruby文档中寻找运算符的定义是徒劳的。亲爱的读者,你或其他人知道吗?@CarySwoveland:我可能会说+是一个作为方法实现的运算符,但它仍然是一个运算符。Ruby的存在有基本的操作符集+、-、*、/,等等,还有一些惊喜。第219页表18.4给出了操作员的完整列表及其先例。在原始的Ruby书籍中,您没有显示s1和s2需要初始化。否则,您的代码就可以了。s1=你好;s2=世界;放置s1++s2打印hello world。错误消息表明您可能正在将s2初始化为整数,而不是字符串。@CarySwoveland tUPLUS是一元加号的标记,但1.+2=>3和foo.+bar=>foobar。我认为让不熟悉该语言的人把+看作一个操作符是错误的,但是你可以梳理并做出自己的决定。Ruby不是JavaScript是一个方法,而不是一个运算符。@CodeGnome,有人可能会说两者都是。我在Ruby文档中寻找运算符的定义是徒劳的。亲爱的读者,你或其他人知道吗?@CarySwoveland:我可能会说+是一个作为方法实现的运算符,但它仍然是一个运算符。Ruby的存在有基本的操作符集+、-、*、/,等等,还有一些惊喜。第219页表18.4给出了操作员的完整列表及其先例。在原始的Ruby书籍中,您没有显示s1和s2需要初始化。否则,您的代码就可以了。s1=你好;s2=世界;放置s1++s2打印hello world。错误消息表明您可能正在将s2初始化为整数,而不是字符串。@CarySwoveland tUPLUS是一元加号的标记,但1.+2=>3和foo.+bar=>foobar。我认为让不熟悉该语言的人把+当作操作符是错误的,但你可以自己梳理并做出决定。