Rubyで少し読んでいます。言語がいかに単純化されているかのように。私はそれを見て、それを私自身で理解しようとしてきました。私はオブジェクトについての助けとそれにデータを追加する方法を探しています。 AthlteというObjectを作成して、そこから.txtまたは.csvファイルのジャージー番号と名前を読み込みたいと思っています。Rubyオブジェクトに追加する
class Athlete
def setNumber (jNum)
@mynum = jNum
end
def getNumber
return @mynum
end
def setName (jName)
@myname = jName
end
def getName
return @myname
end
end
私はクラスをどのように設定するのですか?
は、それから私は、ファイルを読み込む:
myAthlete = Athlete.new
fileObj = File.new(uInput, "r")
while (line = fileObj.gets)
jData = line.split(" ")
myAthlete.setNumber(jData.at(0))
myAthlete.setName(jData.at(1))
end
fileObj.close
私は少し迷子に開始する場所です。 Array.newでこれを試したので、データが完全に分割されていることが分かります。つまり、私はAthleteクラスの内側に配列を作成しようとしています。誰かが私にこれを助けることができますか?
は、だから私の入力ファイルがある場合:
52 Sabathia
19 Tanaka
17 Holliday
24 Sanchez
それは分割し、私が呼ぶならば、うーんmyAthleteは、(1)それは田中さんのもの
あなたのコードをすべて理解していますので、情報を出力してアスリートを比較するにはどうしたらいいですか?だから私は2番目のアスリート(私の上の 'ダミー'ファイルでは'19 Tanaka ')を取得したい場合は、私はそれをどのような行ですか?アスリート[1]のような何か?私はそれを試して、私は '#'を取得しました。データが保存されている場所へのポインタと思われる数字がたくさんあります。 –
普通の配列なので、 'athletes [1]'はアスリートをインデックス1の位置(2番目のエントリ)。これはもちろん、ファイルに2行あることに依存します。もしあなたが困惑しているならば、 'p athletes'をコンソールにデバッグ出力を表示するための素早い方法として、あるいはもっとうまく' irb'ツールを使って小さなコードを実行し、出力を検査してみてください。 – tadman
'inspect'を定義するちょっとしたスニペットを追加しました。出力がよりフレンドリーに見えます。これらの数値は問題のオブジェクトの 'object_id'です。これは単にデフォルトの検査形式です。 – tadman