Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Ruby中添加两个变量,使它们成为一个字符串,中间有一个空格_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 在Ruby中添加两个变量,使它们成为一个字符串,中间有一个空格

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

因此,我尝试在同一行中输出两个带空格的字符串变量,但得到以下错误:

在“+”中:没有将Fixnum隐式转换为字符串TypeError

对于以下代码

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


看起来至少有一个变量包含数值int

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。我认为让不熟悉该语言的人把+看作一个操作符是错误的,但是你可以梳理并做出自己的决定。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。我认为让不熟悉该语言的人把+当作操作符是错误的,但你可以自己梳理并做出决定。