gpt4 book ai didi

ruby - 根据用户输入循环创建

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:29 27 4
gpt4 key购买 nike

我正在创建一种算法,根据杯子的半径长度对杯子进行排序。输入将是

2  
red 10
green 7

输出是

green
red

我的方法是看到第一个输入是 2 我必须创建 2 个具有颜色和半径属性的 Cup。如此处所示:

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 新的 cup 对象吗?

最佳答案

你需要用 ruby​​ 清除基础

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 }

您还可以显示 sorted_cups

关于ruby - 根据用户输入循环创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53743396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com