タグ

Rubyと便利に関するkiyo_hikoのブックマーク (5)

  • シンプルでわかりやすいコードを書くためにあなたがすべきこと - give IT a try

    はじめに 先日、とある知りあいのRubyプログラマからこんな相談を受けました。(内容はちょっとボカしてます) 社内のコードレビューでもっときれいなコードを書けるようになった方がいい、と言われました。 「きれいなコードを書けるようになれ」と言われても、具体的にどうすればいいかわかりません。 伊藤さんのアドバイスを聞きたいです。 この内容だけだとどんな問題があるのかわからないので、実際に指摘を受けたRailsアプリのコードを見せてもらいましたが、確かに「もうちょっと頑張りましょう」と思うような点がチラホラありました。 ただ、具体的にどうすればいいの、という答えは一言では言えません。 というわけで、今回のエントリではこの悩みを解決するのに参考になりそうな話をあれこれ書いてみようと思います。 (その前に)もくじ かなり長い記事になってしまったので、先に目次を載せておきます。 はじめに (その前に)

    シンプルでわかりやすいコードを書くためにあなたがすべきこと - give IT a try
  • ActiveSupportのHash拡張であるslice, exceptがびっくりするぐらい便利 - Qiita

    ActiveSupportによる既存Rubyクラスの拡張は人間をダメにするんじゃないかと思いますが、知っていると周りのプログラマに差をつけられるテクニックが満載だと思います。今回はHashの拡張メソッドの話。 よくあるコード some_hash = { key_a: "some content", key_b: "some content", key_c: "some content" } # :key_aと:key_bを取り出したい some_hash.select{|k, _| %i(key_a key_b).include? k} #=> {key_a: ..., key_b: ...} # :key_cを除外したい some_hash.reject{|k, _| k == :key_c} #=> {key_a: ..., key_b: ...} some_hash = { key_

    ActiveSupportのHash拡張であるslice, exceptがびっくりするぐらい便利 - Qiita
    kiyo_hiko
    kiyo_hiko 2016/03/03
    slice便利だった。なお横着して%wで渡そうとして嵌った。 ×:hash.slice(%w(able baker charlie dog easy)) ○:hash.slice(*%w(able baker charlie dog easy)) arrayではなくてvarargs的に渡す
  • Rubyのmap(&:name)というのはどういう意味? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rubyのmap(&:name)というのはどういう意味? - QA@IT
    kiyo_hiko
    kiyo_hiko 2016/01/27
    Symbol#to_procのが在って、適当なシンボルをレシーバーとして評価するとアリティ1でThe argをレシーバーとし<シンボル>メソッド呼び出すProcに評価されるらし ∴ :fuge.to_proc ≒ Proc.new { |x| x.fuge } ∴map/select系に渡せて楽ちんと
  • ローカル変数の一覧の表示 - 君の瞳はまるでルビー - Ruby 関連まとめサイト

    kiyo_hiko
    kiyo_hiko 2016/01/26
    variables = binding.eval('local_variables').inject({}) { |h, vname| h[vname] = binding.eval(vname.to_s); h }
  • 知って得する21のRubyのトリビアな記法

    (追記:2013-08-16) 記事のトリビアを含む55のトリビアを以下の記事にまとめました。 知って得する!55のRubyのトリビアな記法 ちょっとトリビアだけど、知っていると意外と便利なRubyの記法を21個拾ってみたよ(Ruby1.9限定)。 君なら全部知ってるかもしれないけど.. 1. 動的継承 Rubyのクラス継承では < 記号の右辺にクラス定数だけでなくクラスを返す式が書けるよ。 class Male def laugh; 'Ha ha ha!' end end class Female def laugh; 'Fu fu fu..' end end class Me < [Male, Female][rand 2] end Me.superclass # => Female Me.new.laugh # => 'Fu fu fu..' def io(env=:develop

    kiyo_hiko
    kiyo_hiko 2015/08/28
    ぱっと見Proc#curryとかString#scanとか%w/文字列リスト/の空白エスケープ便利そう
  • 1