Ruby - .each Method - coding is not executing



我是编码新手,正在学习Visual Studio Code,并正在学习"Learn Visual Studio Code Udemy课程。 在此视频中,教师可以将设置添加到名为"用户设置"的文件中。 1) 如何创建此设置? 2)我尝试了以下步骤。我现在可以在VScode中看到工作区。但我没有文件来添加 Fira 代码。 谢谢!

  1. 从 https://github.com/tonsky/FiraCode 下载 Fira 代码字体

  2. 然后导航到 FiraCode-master\distr\ttf

  3. 双击每个.ttf文件

  4. 然后转到 VS 代码>设置(Ctrl),>文本编辑器>字体>

字体系列:"Fira Code",等宽

字体连字:启用在此处输入图像说明

另一个问题是Ruby .each 方法。下面的代码应该给出 5、15 等的输出。但我不明白。提前非常感谢!

fives = [5,10,15,20,25,30,35,40]
odds =[]
fives.each do |num|
odds = []
if num.odd?
odds << num
end  
end

对于问题的 ruby 部分,您错误地分配了两个名为odd的空数组变量,在.each循环的外部和内部都具有相同的名称,因此这不起作用。事实上,你不需要它们,但你也没有明确你所说的"给出输出"是什么意思。 如果您打算将其打印到屏幕上,则可以使用putsprint方法。

fives = [5,10,15,20,25,30,35,40]
fives.each do |num|
puts num if num.odd?
end

如果要将输出数组打印为字符串,并在一行上分隔逗号,您可以执行以下操作:

fives = [5,10,15,20,25,30,35,40]
puts fives.select(&:odd?).join(',')
fives = [5,10,15,20,25,30,35,40]
odds =[]
fives.each do |num|
odds = []  # <== REMOVE THIS
if num.odd?
odds << num
end  
end

只需删除第二个odds = [],它每个循环都会给你一个空数组。

你想要的是这样的:

fives = (5..40).step(5)
odds = fives.select(&:odd?)
puts odds

您的代码会将 5,15 等添加到数组odds中,但它不包含任何用于打印其内容的代码。

您可以在代码末尾使用类似的东西来打印 5 的奇数倍数。

odds.each do |odd|
puts odd
end

相关内容

  • 没有找到相关文章

最新更新