행이 x이고 열이 y 인 인수가있는 눈금을 좌표로 만들 수있는 이미지 생성기를 만들려고합니다. 지금 내가 원하는 것은 좌표계를 제어해야합니다. 명령을 입력하여 프로그램을 호출하고 메소드 호출에 대한 인수도 아래 코드와 같습니다. 작동 시키려면 어떻게해야합니까? 예를 들어, 새로운 이미지 I, 5,6을 생성합니다.명령 줄을 사용하여 루비 프로그램 제어
명령 행 :
require 'pixel'
print "Hello please enter a command in : >> "
command = gets.chomp
case command
when "i", "I"
i = Image.new(m=5,n=6)
when "c","C"
i.clear
when "l","L"
i.add_color(x,y,c)
when "v","V"
i.vertical(x,y1,y2,c)
when "h","H"
i.horizontal(x1,x2,y,c)
when "f","F"
i.fill(x,y,c)
when "s","S"
i.s
when "x","X"
exit
else
puts "Opps command does not exist"
exit
end
루비 이미지 생성기 코드 :
class Image
attr_accessor :m,:n
def initialize(m,n)
@m = m
@n = n
@image_array = Array.new(@n) {Array.new(@m).fill{(0)}}
end
def add_color(x,y,c)
x = x
y = y - 2
@image_array[x][y] = c
end
def vertical(x,y1,y2,c)
x = x - 1
y1 = y1 - 1
y2 = y2 - 1
@image_array[y1..y2].each {|row| row[x] = c }
end
def horizontal(y,x1,x2,c)
y = y - 2
z = x2...x1
@image_array[y].fill(c,z)
end
def fill(x,y,c)
x = x - 1
y = y - 1
s = x * y
s.upto(1).to_a
y.upto(1).to_a
@image_array[1..s].each {|r| r[y]=c }
@image_array[1..s].fill(c,s)
end
def s
p @image_array
end
def clear(m,n)
@image_array = Array.new(@n) {Array.new(@m).fill{(0)}}
end
end
작동을 중지 명령 줄의 코드를 잘못 무엇입니까?
귀하의 질문은 ... 명령 줄의 코드에서 무엇이 잘못 – Reactormonk
? 그것은 작동을 멈 춥니 다? –