タグ

ブックマーク / docs.ruby-lang.org (5)

  • class WeakRef (Ruby 3.3 リファレンスマニュアル)

    [edit] 要約 weak reference を実現するクラスです。 WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、ポイント先のオブジェクトは GC される可能性があります。アクセスしようとしたときにオブジェクトが GC されていれば WeakRef::RefError が発生します。 delegate も参照してください。 サンプルコード require 'weakref' foo = Object.new ref = WeakRef.new(foo) ref.some_method_of_foo 目次 特異メソッド new インスタンスメソッド __getobj__ __setobj__ weakref_alive? 継承しているメソッド Delegatorから継承しているメソッド ! != == freeze marshal_dump marshal_l

    a2ikm
    a2ikm 2017/02/20
  • module Shellwords (Ruby 3.3 リファレンスマニュアル)

    [edit] 要約 UNIX Bourne シェルの単語分割規則に従った文字列分割と文字列エスケープを行うモジュールです。 Shellwords モジュールは、空白区切りの単語分割を行う shellsplit、文字列をエスケープする shellescape、文字列エスケープを文字列リストに対して適用する shelljoin の3つのモジュール関数を提供します。 これらのメソッドの別名として、Shellwords.split, Shellwords.escape, Shellwords.join も使用可能です。ただし、これらの短縮形式のメソッドはクラスメソッドとしてのみ定義されるため、関数形式の呼び出しはできません。 目次 特異メソッド escape join split モジュール関数 shellescape shelljoin shellsplit shellwords 特異メソッド

    a2ikm
    a2ikm 2015/07/01
    ハッシュを環境変数っぽくしてくれるやつが欲しいな
  • module TSort (Ruby 3.3 リファレンスマニュアル)

    [edit] 要約 TSort は強連結成分に関する Tarjan のアルゴリズムを用いたトポロジカルソートの実装です。 TSort は任意のオブジェクトを有向グラフとして解釈できるように設計されています。 TSort がオブジェクトをグラフとして解釈するには2つのメソッドを要求します。すなわち、tsort_each_node と tsort_each_child です。 tsort_each_node はグラフ上のすべての頂点を巡回するのに用いられます。 tsort_each_child は与えられた頂点の子を巡回するのに用いられます。 頂点同士の等価性は eql? と hash によって定義されます。これは TSort が内部でハッシュを用いているからです。 目次 特異メソッド each_strongly_connected_component each_strongly_connec

  • 正規表現 (Ruby 2.0.0)

    正規表現(regular expression)は文字列のパターンを記述するための言語です。 また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、 また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現 オブジェクトを得ることができます。 メタ文字列とリテラル、メタ文字とエスケープ 正規表現の文法には、正規表現内で特別な働きをする文字列と、それ以外の その文字列そのものにマッチするような文字列があります。 前者をメタ文字列(meta string)、後者をリテラル(文字列)(literal string)と呼びます。 /京都|大阪|神戸/ という正規表現においては、「京都」「大阪」「神戸」がリテラルで

  • メソッド呼び出し(super・ブロック付き・yield) (Ruby 1.9.3)

    super ブロック付きメソッド呼び出し yield ブロックパラメータの挙動 例: foo.bar() foo.bar bar() print "hello world\n" print Class.new Class::new 文法: [式 `.'] 識別子 [`(' 式 ... [`*' [式]],[`&' 式] `)'] [式 `::'] 識別子 [`(' 式 ... [`*' [式]],[`&' 式] `)'] メソッド呼び出し式はレシーバ(`.' の左側の式の値)のメソッドを呼び 出します。レシーバが指定されない時は self のメソッドを呼び出しま す。 `.' と `::' とはほぼ同じ意味です。但し、定数を表す場合は、 `::' を使わなければいけません(例: Math::PI)。逆に、 Klass::Foo とした場合、常に定数と見なされるという制限があります。 `::

    a2ikm
    a2ikm 2013/02/20
    &
  • 1