タグ

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

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

    [edit] 要約 ブロックをコンテキスト(ローカル変数のスコープやスタックフレーム)とともにオブジェクト化した手続きオブジェクトです。 Proc は ローカル変数のスコープを導入しないことを除いて名前のない関数のように使えます。ダイナミックローカル変数は Proc ローカルの変数として使えます。 Proc がローカル変数のスコープを保持していることは以下の例で変数 var を参照できていることからわかります。 例 var = 1 $foo = Proc.new { var } var = 2 def foo $foo.call end p foo # => 2 手続きを中断して値を返す 手続きオブジェクトを中断して、呼出し元(呼び出しブロックでは yield、それ以外では Proc#call) へジャンプし値を返すには next を使います。break や return ではありません。

  • class Zlib::GzipWriter (Ruby 2.0.0)

    クラスの継承リスト: Zlib::GzipWriter < Zlib::GzipFile < Object < Kernel < BasicObject 要約 gzip 形式の圧縮ファイルを書き出すラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。 Zlib::GzipWriter.open('hoge.gz') {|gz| gz.write 'jugemu jugemu gokou no surikire...' } f = File.open('hoge.gz', 'w') gz = Zlib::GzipWriter.new(f) gz.write 'jugemu jugemu gokou no surikire...' gz.close なお、Ruby の finalizer の制約のため

  • module function Marshal.#dump (Ruby 2.0.0)

    dump(obj, port, limit = -1) -> IO[permalink][rdoc] dump(obj, limit = -1) -> String obj を指定された出力先に再帰的に出力します。 ファイルに書き出せないオブジェクトをファイルに書き出そうとすると 例外 TypeError が発生します。 ファイルに書き出せないオブジェクトは以下の通りです。 名前のついてない Class/Module オブジェクト。(この場 合は、例外 ArgumentError が発生します。無名クラスについて は、Module.new を参照。) システムがオブジェクトの状態を保持するもの。具体的には以下のイン スタンス。Dir, File::Stat, IO とそのサブクラス File, Socket など。 MatchData, Data, Method, UnboundMetho

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

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

  • module NKF (Ruby 2.0.0)

    クラスの継承リスト: NKF 要約 nkf(Network Kanji code conversion Filter, http://sourceforge.jp/projects/nkf/) を Ruby から使うためのモジュールです。 Ruby 1.8.2 以降では nkf の 2.0 以降が取り込まれています。 使い方 以下は、漢字コード変換コマンドの例です。 #!/usr/local/bin/ruby require 'nkf' opt = '' opt = ARGV.shift if ARGV[0][0] == ?- while line = ARGF.gets print NKF.nkf(opt, line) end 以下は、漢字コード判別コマンドの例です。 #!/usr/local/bin/ruby require 'nkf' CODES = { NKF::JIS => "J

    babydaemons
    babydaemons 2013/07/20
    ruby-2.0.0になってもnkfのお世話になるなど。さっさとsjisなんか滅んじゃえばいいのだが
  • class Matrix (Ruby 1.8.7)

    クラスの継承リスト: Matrix < Object < Kernel 要約 数Numericを要素とする行列を扱うクラスです。 行列 m * n 個の数a(i,j)を [ a(0,0) a(0,1) a(0,2) a(0,3) ... a(0,n-1) ] [ a(1,0) a(1,1) a(1,2) a(1,3) ... a(1,n-1) ] [ a(2,0) a(2,1) a(2,2) a(2,3) ... a(2,n-1) ] [ ] [ a(m-1,0) a(m-1,n-1) ] のように、縦横の表にあらわしたものを(m,n)型の行列といいます。 m=nの行列をm次の正方行列(square matrix)といいます。 インデックスは 0 から始まることに注意してください。 上からi番目の横の数の並びを第i行(the i-th row)、 左からj番目の縦の数の並びを第j列(the

    babydaemons
    babydaemons 2013/06/12
    あぁ、Matz先生、偉大だわ
  • 1