Rubyで勝手にprivate method扱いされる
とある問題を解くために以下のようなコードをかきました。
しかし、gravityメソッドが勝手にprivate扱いされてしまいます。
'#'の付いている行をすべてコメントアウトすると期待通りに動きました。
どなたか詳しい方、なぜgravityがprivate扱いされてしまうのか教えてください
処理系は2.3.1です。
line = gets.chomp.split(' ')
$W = line[0].to_i
$H = line[1].to_i
$N = line[2].to_i
$sen = Array.new
$H.times do
$sen << gets.chomp.split("")
end
$sen.reverse!
$sen = $sen.transpose
def gravity #落ちる
$sen.each do |y|
y.delete('0')
($H-y.length).times do
y << '0'
end
end
end #
$sen.gravity #
p $sen