Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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从a到z写入,线宽从42到16_Ruby - Fatal编程技术网

ruby从a到z写入,线宽从42到16

ruby从a到z写入,线宽从42到16,ruby,Ruby,我必须为学校做一个练习,在ruby中,我必须每次在新行上从42到16的行宽写a到z 确切的问题是: 假设页面的线宽为42。编写一个生成以下输出的程序。提示:使用范围和对齐方法 line_width = 42 ('a'..'z').each do |x| end puts x.ljust(line_width..16) 这就是我所拥有的,我希望它至少离我很近,如果有人能看看它,也许能帮我一点忙,那就太好了 先谢谢你 line_width = 42 ('a'..'z').each do |x|

我必须为学校做一个练习,在ruby中,我必须每次在新行上从42到16的行宽写a到z

确切的问题是: 假设页面的线宽为42。编写一个生成以下输出的程序。提示:使用范围和对齐方法

line_width = 42
('a'..'z').each do |x|
end
puts x.ljust(line_width..16)
这就是我所拥有的,我希望它至少离我很近,如果有人能看看它,也许能帮我一点忙,那就太好了

先谢谢你

line_width = 42
('a'..'z').each do |x|
  puts x.ljust(line_width, " ")
end
我想你在找这样的东西
x
是在第2行定义的,在第2行中,它由
('a'..'z')
范围内调用的每个方法“管道化”(
|x |
)。另一件事是puts将始终返回新行

但是,关于
x
,传递给
每个方法的块位于do和end语句之间,因此如果在该块之外引用
x
,它将引发错误,因为
x
未定义

更新

更新新信息:

line_width = 42
('a'..'z').each do |x|
  puts x.rjust(line_width, " ")
  line_width -= 1
end

请参见此处:

它不会产生所需的输出吗?不会,它会返回下一个错误:D:/documents/school/jaar 2/ruby/lab_4/lab_4.rb:14:in
block-in::main:Object(NameError)的未定义局部变量或方法
x'?x from D:/documents/school/jaar 2/ruby/lab_4/lab_4.rb:13:in
到'from D:/documents/school/jaar 2/ruby/lab_4/lab_4.rb:13:in
加载'from-e:1:in``是,你认为这个错误意味着什么?x从来没有定义过,但我不知道x应该是什么。这让我更接近我需要的东西,但还没有。我只是贴了一个例子作为回答谢谢这是正确的答案我不能投票,但我尊重你@您可以单击复选按钮将其标记为正确答案。这直接位于向上投票/向下投票按钮下方。这主要是因为当其他用户搜索相同的问题时,他们可以找到正确的答案。