目标:在odds数组上使用.each方法打印出数组中每个项的值的两倍。换句话说,将每个项目乘以2。
确保使用print而不是puts,因此输出显示在一行上。
code:
odds = [1,3,5,7,9]
odds.each do |x|
x *= 2
print "#{x}"
end
在Codecademy上进行此练习,我对语法感到困惑,为什么需要围绕x的#{},以及为什么它只是:print" x&# 34;或打印#x"。哈希和括号有什么作用?令我困惑的是为什么红宝石没有打印出来#34;#{X}"而不是" x"由于被引号括起来,数字乘以2?以前的练习还包括哈希和大括号#{user_input},其中控制台打印我们输入的任何内容而不是打印出来#34;#{user input}"本身。
答案 0 :(得分:0)
您无法print "x"
并期望它打印x
对象的值。如果你想打印x字母怎么办?所以,我们需要插值。
但是以这种方式使用的插值只有附带效果才能使x
成为一个字符串。你可以不用插值来做同样的事情:
print x
无论如何,我可能会做
odds = [1,3,5,7,9]
odds.each { |x| print x * 2 }
关于插值:当你应该连接几个字符串时你可以使用它,它会很难看。例如
puts name + " " + surname
puts "#{name} #{surname}"
我更喜欢后者