タグ

ブックマーク / www.xmisao.com (3)

  • Rubyでサブクラスの一覧を取得する方法 -- ぺけみさお

    ActiveSupportを使った方法ActiveSupportを使っていればClassが拡張されてClass.subclassesメソッドが使えるようになっている。このメソッドはクラスのサブクラスのリストを返すものだ。例えばIntegerのサブクラスを得るには、以下のようにする。 require 'active_support/core_ext/class/subclasses' p Integer.subclasses #=> [Fixnum, Bignum] ActiveSupportを読むこれだけではつまらないので、ActiveSupportのソースコードを読んで、どのようにサブクラスを見つけているのか調べてみよう。定義はsubclasses.rbである。 require 'active_support/core_ext/module/anonymous' require 'act

  • Rubyで並列処理を行うparallel gemの使い方と勘所 -- ぺけみさお

    parallelを使うとKenrel#forkやThreadを駆使するのと比べて簡単に並列処理を書くことができます。parallelは拙作のBestGems.orgによると、合計ダウンロード数で151位、デイリーダウンロード数は100位前後で、現時点で非常にメジャーなGemとなっています。 この記事ではparallelの基的な使い方と、実際に使ってみて感じた注意点をTipsとして整理したいと思います。 parallelはREADME.mdが親切に書かれています。 加えて主要な部分は500行程度の小さなGemです。 利用する場合は公式のドキュメントとソースコードを確認されることをおすすめします。 前提ソフトウェア ソフトウェア バージョン 備考 ruby 2.5.1 - parallel 1.12.1 - rails 5.0 - 使い方 インストール gem install paralle

    ymm1x
    ymm1x 2021/06/06
  • findとxargsの基本的な使い方 -- ぺけみさお

    findとxargsは、手作業ならうんざりするような作業であっても、コマンドライン一発で済ませられる可能性を秘めている。 このエントリーではfindとxargsの基的な使い方をtipsとしてまとめる。 findによる検索findはあるディレクトリ以下の条件にマッチしたパスを検索し一覧を出力するコマンドだ。 最初の引数には検索対象のパスを与える。以下の例ではカレントディレクトリ以下のファイルとディレクトリが一覧される。 findに条件を与えれば、条件にマッチしたパスのみ出力させることができる。 条件には色々書くことができるが、一番良く使われるのは-nameによる名前の指定だろう。 名前の指定にはワイルドカードを使う。以下の例は.rbで終わるパスのみを出力させる。

    ymm1x
    ymm1x 2017/03/22
  • 1