Я новичок в рубиновом программировании. Я написал небольшую программу для рекурсивного подсчета blob в двумерном массиве. он содержит два класса, ячейки и капли. Я получаю следующую ошибку, и я не знаю, что это значит или как ее исправить.запустить рубиновый проект на рубиновой руднике
прилагается мой код и ошибка. Cell Класс
class Cell
attr_accessor :data,:visited,:row,:col
def initialize(data, row, col)
@data = data
@visited = false
@row = row
@col = col
end
def to_s
self.data.to_s
end
end
Blob класс
class Blobs
require ./Cell
@cells = Array.new(10){Array.new(10)}
def separate(percentage)
for i in 0..10
for i in 0..10
random = Random.rand(0,100)
if random < percentage
@cells[i][j] = Cell.new('x',i,j)
else
@cells[i][j] = Cell.new(nil, i, j)
end
end
end
end
def markBlob(currentCell)
if currentCell.visited
return
end
currentCell.visited = true
if currentCell.data.nil?
return
end
if currentCell.row >0
markBlob(@cells[currentCell.row-1][currentCell.col])
end
if currentCell.row <@cells.size-1
markBlob(@cells[currentCell.row+1][currentCell.col])
end
if currentCell.col>0
markBlob(@cells[currentCell.row][currentCell.col-1])
end
if currentCell.col<@cells.size-1
markBlob(@cells[currentCell.row][currentCell.col+1])
end
end
def countblobs
count = 0
for i in 0..10
for j in 0..10
cell = @cells[i][j]
if !cell.visited && cell.data.nil?
count++
markBlob(cell)
end
end
end
return count
end
def to_s
for i in 0..10
for j in 0..10
if @cells[i][j].data.nil?
puts '- '
else
puts @cells[i][j].data + ' '
end
end
puts "\n"
end
end
blob = Blobs.new
number = blob
puts number
end
это ошибка, я получаю:
C:\Ruby22\bin\ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) C:/Users/Nechama/RubymineProjects/blobs/blobs.rb
C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:38:in `require': wrong number of arguments (0 for 1) (ArgumentError)
from C:/Users/Nechama/RubymineProjects/blobs/blobs.rb:3:in `<class:Blobs>'
from C:/Users/Nechama/RubymineProjects/blobs/blobs.rb:2:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
Process finished with exit code 1
'требуют/Cell'. - Вы должны' require' путей файлов. Это не путь к файлу или даже строка, которая могла бы представлять его. –
по ошибке вы можете видеть, что проблема в вашем файле blobs, в строке 3: 'from C:/Users/Nechama/RubymineProjects/blobs/blobs. rb: 3: in '' –
как я могу превратить его в путь к файлу? – programmingGirl