Fendo181 / RoRTutorial_chap04

0 stars 0 forks source link

演習10(4.4.5) #11

Closed Fendo181 closed 7 years ago

Fendo181 commented 7 years ago

(1)

Userクラスで定義されているname属性を修正して、first_name属性とlast_name属性に分割してみましょう。また、それらの属性を使って "Michael Hartl" といった文字列を返すfull_nameメソッドを定義してみてください。最後に、formatted_emailメソッドのnameの部分を、full_nameに置き換えてみましょう (元々の結果と同じになっていれば成功です)

irb(main):002:0> require './example_user'
=> true
irb(main):003:0> user = User.new(first_name: "Michael", last_name: "Hartl", email: "mhartl@example.com")
=> #<User:0x007fd9292e7340 @first_name="Michael", @last_name="Hartl", @email="mhartl@example.com">
irb(main):004:0> user.full_name
=> "MichaelHartl"
irb(main):005:0> user.formatted_email
=> "MichaelHartl <mhartl@example.com>"

(2)

"Hartl, Michael" といったフォーマット (苗字と名前がカンマ+半角スペースで区切られている文字列) で返すalphabetical_nameメソッドを定義してみましょう。

irb(main):001:0> require './example_user'
=> true
irb(main):002:0> user = User.new(first_name: "Michael", last_name: "Hartl", email: "mhartl@example.com")
=> #<User:0x007fd929296328 @first_name="Michael", @last_name="Hartl", @email="mhartl@example.com">
irb(main):003:0> user.full_name
=> "MichaelHartl"
irb(main):004:0> user.alphabetical_name
=> "Hartl,Michael"

(3)

full_name.splitとalphabetical_name.split(’, ’).reverseの結果を比較し、同じ結果になるかどうか確認してみましょう。

同じになった!。

irb(main):009:0>  user.alphabetical_name.split(',').reverse
=> ["Michael", "Hartl"]
irb(main):010:0> user.full_name.split
=> ["MichaelHartl"]