我正在解决在线训练营的问题。我似乎无法弄清楚如何将多维数组传递给构造函数。我在这里寻找解决方案,但我似乎无法找到任何特定于初始化多维数组的ruby。也许我使用了错误的搜索字词。
[问题]
构建一个类,允许我们使用我们指定的数据构建新图像。使类可以将图像输出到屏幕。您的目标是使以下代码有效:
image = Image.new([
[0, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 0, 1],
[0, 0, 0, 0]])
image.output_image
当您运行该代码时,它会将以下内容输出到终端窗口:
0000
0100
0001
0000
这是我写的。
class Image
def initialize
@image= Array.new(4) { Array.new(4) }
end
def output_image
@image.each do |x|
x.each do |y|
puts y
end
end
end
end
image = Image.new([
[0, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 0, 1],
[0, 0, 0, 0]
])
image.output_image
我收到错误:
app.js:2:in `initialize': wrong number of arguments (1 for 2) (ArgumentError)
任何帮助将不胜感激!
感谢。
答案 0 :(得分:3)
问题是你的com.mail.email_category...
方法不带任何参数。您不能将参数传递给不带任何参数的方法。
改变这个:
initialize
对此:
def initialize
@image = Array.new(4) { Array.new(4) }
end