Ruby 基于用户输入循环创建
我正在创建一个算法,根据杯子半径的长度对杯子进行排序。输入将是Ruby 基于用户输入循环创建,ruby,algorithm,function,irb,Ruby,Algorithm,Function,Irb,我正在创建一个算法,根据杯子半径的长度对杯子进行排序。输入将是 2 red 10 green 7 输出为 green red 我的方法是,第一个输入是2,我必须创建2个具有颜色和半径属性的杯子。如图所示: class Cup attr_accessor :colour, :radius def initialize(colour, radius) @colour = "" @radius = 0 end d
2
red 10
green 7
输出为
green
red
我的方法是,第一个输入是2,我必须创建2个具有颜色和半径属性的杯子。如图所示:
class Cup
attr_accessor :colour, :radius
def initialize(colour, radius)
@colour = ""
@radius = 0
end
def number_of_cups
puts "How many cups are there?".chomp
gets.times do
Cup.new("", 0)
end
end
end
当我尝试访问Cup.number of_cups时,我收到一个
未定义的方法
错误。我的问题是,例如,如果我输入3
,那么我将拥有3
新的杯子对象 您需要使用ruby清除basic
class Cup
attr_accessor :colour, :radius
def initialize(colour='No Colour', radius=0)
@colour = colour
@radius = radius
end
end
puts "How many cups are there?"
cups = []
gets.to_i.times do |n|
puts "Enter Cup-#{n+1} colour & radius:"
c = gets.chomp
r = gets.to_i
cups << Cup.new(c, r)
end
sorted_cups = cups.sort_by { |x| x.radius }
class杯
属性存取器:颜色,:半径
def初始化(颜色=无颜色,半径=0)
@颜色
@半径=半径
结束
结束
放上“有多少个杯子?”
杯子=[]
得到的时间是多少
将“输入杯-#{n+1}颜色和半径:”
c=get.chomp
r=到达
cups您需要用ruby清除basic
class Cup
attr_accessor :colour, :radius
def initialize(colour='No Colour', radius=0)
@colour = colour
@radius = radius
end
end
puts "How many cups are there?"
cups = []
gets.to_i.times do |n|
puts "Enter Cup-#{n+1} colour & radius:"
c = gets.chomp
r = gets.to_i
cups << Cup.new(c, r)
end
sorted_cups = cups.sort_by { |x| x.radius }
class杯
属性存取器:颜色,:半径
def初始化(颜色=无颜色,半径=0)
@颜色
@半径=半径
结束
结束
放上“有多少个杯子?”
杯子=[]
得到的时间是多少
将“输入杯-#{n+1}颜色和半径:”
c=get.chomp
r=到达
cups在硬编码字符串上调用chomp
,没有任何意义。另外,gets
接收回一个字符串,因此dogets.to_i.times
。另外,请下次把整个错误信息都发出来。是的,你完全正确。谢谢你的帮助!虽然现在杯子并没有真正被创建,但这个循环是一个误报。当我键入Cup.all时,我得到了错误回溯(最后一次调用):2:from/Users/WTFwerewolf/.rvm/rubies/ruby-2.5.1/bin/irb:11:in
'1:from(irb):3 nomethodorror(Cup:Class的未定义方法all)
,这可能是因为(惊讶)类Cup
没有定义方法all
?没有魔法。啊,我以为所有的都是Ruby自动理解的东西。以前在Rails控制台中工作过。将致力于分离下一个输入行。谢谢你的帮助,尽管我真的很感激!对硬编码字符串调用chomp
,没有任何意义。另外,gets
接收回一个字符串,因此dogets.to_i.times
。另外,请下次把整个错误信息都发出来。是的,你完全正确。谢谢你的帮助!虽然现在杯子并没有真正被创建,但这个循环是一个误报。当我键入Cup.all时,我得到了错误回溯(最后一次调用):2:from/Users/WTFwerewolf/.rvm/rubies/ruby-2.5.1/bin/irb:11:in
'1:from(irb):3 nomethodorror(Cup:Class的未定义方法all)
,这可能是因为(惊讶)类Cup
没有定义方法all
?没有魔法。啊,我以为所有的都是Ruby自动理解的东西。以前在Rails控制台中工作过。将致力于分离下一个输入行。谢谢你的帮助,尽管我真的很感激!