前提・実現したいこと
①②の2点をお伺いさせてください。
Rails Tutorialにて、下記の通りオプション引数とキーワード引数の実装方法の違いについて言及されている部分があるのですが、①両者の挙動にはどのような違いがあるのでしょうか。
キーワード引数の方が記述がシンプルで良いなと思う一方、Tutorialではオプション引数が先に紹介されているので、②オプション引数を用いることが開発現場のスタンダードなのかなとも思っているのですが、いかがでしょうか。
Rails Tutorial引用
オプション引数は今でもRubyコミュニティで一般的に使われていますが、Ruby 2.0から導入された新機能「キーワード引数 (Keyword Arguments)」でも実現することができます。先ほど変更したリスト 7.12を、リスト 7.13のように置き換えてもうまく動くことを確認してみましょう。この2つの実装方法はどういった違いがあるのでしょうか? 考えてみてください。 リスト 7.12: gravatar_forヘルパーにオプション引数を追加する app/helpers/users_helper.rb module UsersHelper # 引数で与えられたユーザーのGravatar画像を返す def gravatar_for(user, options = { size: 80 }) gravatar_id = Digest::MD5::hexdigest(user.email.downcase) size = options[:size] gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}" image_tag(gravatar_url, alt: user.name, class: "gravatar") end end リスト 7.13: gravatar_forヘルパーにキーワード引数を追加する app/helpers/users_helper.rb module UsersHelper # 引数で与えられたユーザーのGravatar画像を返す def gravatar_for(user, size: 80) gravatar_id = Digest::MD5::hexdigest(user.email.downcase) gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}" image_tag(gravatar_url, alt: user.name, class: "gravatar") end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/05 18:03