質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

1回答

1326閲覧

rubyのコードの意味がよく分かりません。

renre1221

総合スコア11

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2015/08/17 04:35

このコードの意味するところを教えてください。
class PersonalInfo
attr_accessor:name
attr_accessor:birth_date
attr_accessor:address
attr_accessor:tel
end
class Addressbook
attr_accessor:name
attr_accessor:data
end

def search_info(book,name)
for i in book.data
if i.name == name
return i
end
end
end

search_info(addr_book,'TaroYamada')

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/08/17 05:02

これだけだとどんな情報なのか分かりかねる所があります。 - AddressBook#dataにはどんなデータが入ってますか? - 知りたい事はどんなことですか?例えばsearch_infoは何するものぞ?と聞かれたら答えられるかもしれません。
renre1221

2015/08/17 05:32

個人情報とその名簿があり、人名を参照することでその人の情報を得るというコードらしいんですが、 個人情報と名簿をアクセスメソッドにして、検索処理をして人の情報を得るにはどのような コードを使えばいいですか?
guest

回答1

0

断片的なコード過ぎて、このコードでは意味がわかりかねます。
コメントでおっしゃっていたようなものは、いろいろな手段で実現可能ですが、
要するにこういうことですか?

Ruby

1class PersonalInfo 2 # 属性に対するアクセサ 3 attr_accessor :name, :birth_date, :address, :tel 4 # イニシャライザ 5 def initialize(name, birth_date, address, tel) 6 @name = name 7 @birth_date = birth_date 8 @address = address 9 @tel = tel 10 end 11end 12class AddressBook 13 # クラス変数宣言 14 @@data = [] 15 # クラス変数に引数のPersonalInfoを追加 16 def self.add_personal_info(personal_info) 17 @@data << personal_info 18 end 19 # クラス変数からnameが同一のPersonalInfoを返す 20 def self.serach(name) 21 @@data.find{|p| p.name == name} 22 end 23end 24 25# データを投入 26AddressBook.add_persinal_info(PersonalInfo.new('山田太郎',Time.local(1900,1,1),'東京都港区六本木','000-000-0000') 27# 他のデータも投入 28AddressBook.search('山田太郎') 29# 上記戻り値は最初に投入したPersonalInfo

最低でもこれぐらいは無いと何がしたいのかわからないですよ。

投稿2015/08/17 16:08

rifuch

総合スコア1901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問