0

Ruby エッセンシャル トレーニング コースを終えたばかりです。可能であれば、コマンド ラインのみを使用してレストラン ファインダー用の非常に単純なスクリプトを作成する方法を知りたいですか?

必要な機能: ユーザーは 1- レストラン名 2- レストランのタイプ 3- レストランの平均価格を入力するよう求められます

ユーザーは、セッション中にメモリにのみレストランの応答リストを取得します (ファイルには何も保存されません)。

また、追加されたレストランのリストをユーザーに表示させるにはどうすればよいですか?

Lynda.comのインストラクターが見逃していた方法で言語を理解できるように、できるだけ簡単にしたい. このインストラクターが実際のスクリプト構築に到達すると、彼はそれを修正し始め、多くの迅速なコードを書き始めました。それは私を混乱させ、私が見ている Ruby ビデオ トレーニングではなく PHP であるかのように感じさせました。

クラスとメソッドの作成方法、配列ハッシュの使用方法などを知っています...基本的な簡単な開始を試して、ファイルを使用せずに簡単なプログラムを作成して何かを保存する方法を自分で試してみたい

その後、私は次のレベルに移動します。

ありがとう。

4

1 に答える 1

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
于 2012-07-27T08:40:29.137 に答える