我刚刚完成了Ruby必备培训课程 我想知道如何为Restaurant Finder编写一个非常简单的脚本 仅在可能的情况下使用命令行?
所需功能: 用户要求输入1-餐厅名称2-餐厅类型3-餐厅 平均价格
用户获取餐馆的回复列表(不会保存任何内容 文件)仅在会话期间在内存中。
我怎样才能让用户显示添加的餐馆列表?
我想让它变得尽可能简单,这样我才能理解语言 我以Lynda.com教练的方式错过了它。 一旦这位导师到达了实际的脚本建筑,他就开始了 修改它并编写许多让我困惑的快速代码 几乎所有的东西都是PHP而不是我正在观看的Ruby Video培训。
我知道如何创建类和方法以及使用数组哈希等... 想要基本的简单开始尝试自己如何编写简单的程序 不使用文件存储任何东西
之后我将进入下一个级别。感谢。
答案 0 :(得分:2)
我也是Ruby的新手,但这是我的简单实现:
class Restaurant
attr_accessor :name, :type, :avg_price
def initialize(name, type, avg_price)
@name = name
@type = type
@avg_price = Float(avg_price)
end
end
class RestaurantsList < Array
def read_from_keyboard
print "Restaurant name: "
name = gets.chomp
print "Restaurant type: "
type = gets.chomp
print "Restaurant average price: "
avg_price = gets.chomp
self << Restaurant.new( name, type, avg_price )
end
def print_list
puts sprintf("%17s %15s %s", "Name |", "Type |", "Avg price |")
self.each { |e| puts sprintf("%15s |%14s |%10d |", e.name, e.type, e.avg_price)}
end
end
restaurants_list = RestaurantsList.new
loop do
print "1 - add restaurant, 2 - print list, 3 - exit : "
answer = Integer(gets.chomp)
case answer
when 1
restaurants_list.read_from_keyboard
when 2
restaurants_list.print_list
when 3
break
end
end