我刚刚完成Ruby基本培训课程我想知道如何为Restaurant Finder编写一个非常简单的脚本仅在可能的情况下使用命令行?
所需功能:用户要求输入1-餐厅名称2-餐厅类型3-餐厅平均价格
用户获得餐厅的响应列表(不会保存任何内容文件)仅在会话期间存储在存储器中。
此外,我如何让用户显示添加的餐厅列表?
我想让它尽可能简单,这样我就能理解语言在某种程度上,我错过了Lynda.com的讲师。当这位老师到达实际的剧本大楼时,他开始修改它并编写大量快速代码,这让我感到困惑,也让我我看的几乎是PHP而不是Ruby视频培训。
我知道如何创建类和方法以及使用数组哈希等。。。想要基本的简单开始尝试自己如何编写简单的程序而不使用文件来存储任何
之后我将进入下一个级别。
谢谢。
我也是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