Closed Fendo181 closed 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"]
(1)
(2)
(3)
同じになった!。