2017-05-08 3 views
-2

誰でもこのスクリプトで何が間違っているとお伝えできますか?私は完全な初心者ですが、なぜこのオブジェクトがダンプで空であるのか理解できません。ご指摘ありがとうございます。Rubyのオブジェクトがありません

require 'sinatra' 

class Person 
    def initialize(first_name, last_name, age, country) 
    @per_first_name = first_name 
    @per_last_name = last_name 
    @per_age = age 
    @per_country = country 
    end 

    def get_basic_info() 
    puts Array.[](@per_first_name, @per_last_name, @per_age, @per_country) 
    end 
end 

get '/basicInfo' do 
    xavier = Person.new('Tada', 'Bada', 25, 'CR') 
    xavier.inspect 
end 

enter image description here

+5

どのオブジェクトが 'nil'ですか?エラー/ログ出力を投稿してください。 – Gerry

答えて

3

それは誤りではないようです、私はhttp://localhost:4567/basicInfoに行くとき、あなたのページに#を取得していると思うし、あなたがあなたの新しい上inspectを呼び出しているので、それは予想される動作ですPersonオブジェクトを作成しました。

私がもしそうなら、あなたは、変更のカップルを行う必要があり、あなたが代わりにget_basic_infoを表示することを前提としています

まず、puts以来get_basic_infoからputsを削除するには、コンソールではなく、自分のページに印刷されます:

def get_basic_info() 
    Array.[](@per_first_name, @per_last_name, @per_age, @per_country) 
end 

第二に、あなたのメソッドを呼び出す前に呼び出し、あなたがそれを検査する前に、基本的な情報の配列を取得して、検査:

get '/basicInfo' do 
    xavier = Person.new('Tada', 'Bada', 25, 'CR') 
    xavier.get_basic_info.inspect 
end 
+0

ありがとうございました! – XWizard

+0

@XWizard助けてくれてうれしい!また、[this](https://github.com/bbsosov/ruby-style-guide)ガイドを参照することをお勧めしますので、Rubyのプログラミングスタイルに詳しいようにしてください。 – Gerry

関連する問題