サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
docs.ruby-lang.org
[edit] 記号の説明 size -> Integer の「-> Integer」って何? size メソッドは整数を返すという意味です。 Kernel.#require の .# って何? 「.#」はモジュール関数であることを表します。「Kernel.#require」は「Kernel のモジュール関数である require 」という意味です。 String#size の # って何? 「#」はインスタンスメソッドであることを表します。 Dir.chdir の . って何? 「.」はクラスメソッドであることを表します。 p a #=> 1 の #=> って何? 「#=>」は標準出力に出力されるということを表しています。「p a #=> 1 」は「p a」を実行すると標準出力に「1」が出力されるという意味です。 返り値の型の詳細 返り値の型の仕様は以下のようになっています。 真偽値を返す
NEWS for Ruby 3.4.0¶ ↑ This document is a list of user-visible feature changes since the 3.3.0 release, except for bug fixes. Note that each entry is kept to a minimum, see links for details. Language changes¶ ↑ String literals in files without a frozen_string_literal comment now emit a deprecation warning when they are mutated. These warnings can be enabled with -W:deprecated or by setting Warnin
prepend(*modules) -> self[permalink][rdoc][edit] 指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。 継承チェイン上で、self のモジュール/クラスよりも「手前」に追加されるため、結果として self で定義されたメソッドは override されます。 modules で指定したモジュールは後ろから順に処理されるため、 modules の先頭が最も優先されます。 また、継承によってこの「上書き」を処理するため、prependの引数として渡したモジュールのインスタンスメソッドでsuperを呼ぶことで self のモジュール/クラスのメソッドを呼び出すことができます。 実際の処理は modules の各要素の prepend_features を後ろから順に
[edit] 要約 タスクは Rakefile における基本単位です。 タスクは一つ以上の関連するアクションと事前タスクを持ちます。タスクを実行すると、まず始めに全ての事前タスクを一度だけ実行してから自身のアクションを実行します。 タスクは通常 Kernel#task, Kernel#file という便利なメソッドを使用して定義します。 目次 特異メソッド [] clear create_rule define_task new scope_name task_defined? tasks インスタンスメソッド actions add_description application application= arg_description arg_names clear clear_actions clear_prerequisites comment comment= enhance e
abort_on_exception -> bool[permalink][rdoc][edit] abort_on_exception=(newstate) 真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。 デフォルトは false です。 Thread/例外発生時のスレッドの振る舞いを参照してください。 [PARAM] newstate: スレッド実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。 例 Thread.abort_on_exception # => false Thread.abort_on_exception = true Thr
[edit] 要約 NDBM ファイルをアクセスするクラス。 キー、データともに文字列でなければならないという制限と、データがファイルに保存されるという点を除いては Hash クラスと全く同様に扱うことができます。 目次 特異メソッド new open インスタンスメソッド [] []= clear close closed? delete delete_if each each_key each_pair each_value empty? fetch has_key? has_value? include? index invert key key? keys length member? reject reject! replace select shift size store to_a to_hash update value? values values_at 定数 NEWDB
sleep -> Integer[permalink][rdoc][edit] sleep(sec) -> Integer sec 秒だけプログラムの実行を停止します。 sec が省略された場合、他スレッドからの Thread#run などで明示的に起こさない限り永久にスリープします。Thread#runを呼ぶとその時点で sleepの実行が中断されます。 [PARAM] sec: 停止する秒数を非負の数値で指定します。浮動小数点数も指定できます。省略された場合、永久にスリープします。 [RETURN] 実際に停止していた秒数 (整数に丸められた値) です。 例 it = Thread.new do sleep puts 'it_end' end re = sleep 2.11 puts re it.run re2 = sleep 0.76 puts re2 #=> 2 # it_end
[edit] 要約 IP アドレスを扱うのためのクラスです。 例: require 'ipaddr' ipaddr1 = IPAddr.new("3ffe:505:2::1") p ipaddr1 # => #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff> ipaddr3 = IPAddr.new("192.168.2.0/24") p ipaddr3 # => #<IPAddr: IPv4:192.168.2.0/255.255.255.0> 参照 [RFC3513] 目次 特異メソッド new new_ntoh ntop インスタンスメソッド & << <=> == === >> | ~ eql? family hash hton include
times {|n| ... } -> self[permalink][rdoc][edit] times -> Enumerator self 回だけ繰り返します。 self が正の整数でない場合は何もしません。 またブロックパラメータには 0 から self - 1 までの数値が渡されます。 3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。 0.times { puts "Hello, World!" } # 何も表示されない。 5.times {|n| print n } # 01234 と表示される。 [SEE_ALSO] Integer#upto, Integer#downto, Numeric#step
class String BigDecimal extends the native String class to provide the to_d method. When you require BigDecimal in your application, this method will be available on String objects. additions to class String for Unicode normalization A String object holds and manipulates an arbitrary sequence of bytes, typically representing characters. String objects may be created using String::new or as literal
[edit] 要約 RSA 暗号鍵のクラスです。 通常このクラスで利用するのは、 OpenSSL::PKey::RSA.generate, OpenSSL::PKey::RSA.new, OpenSSL::PKey::RSA#public?, OpenSSL::PKey::RSA#private?, OpenSSL::PKey::RSA#public_key, OpenSSL::PKey::RSA#to_text, OpenSSL::PKey::RSA#to_pem, OpenSSL::PKey::RSA#to_der のいずれかでしょう。これ以外のメソッドを利用するときは RSA についてよく理解し、必要な場合のみにすべきです。 例: require 'openssl' # initialize random seed OpenSSL::Random.seed(File.read("/d
[edit] 要約 現在実行中のフレーム情報を取り扱うためのクラスです。 [注] set_trace_func を用いて Ruby の実行をトレースしています。マルチスレッドには対応していません。 目次 特異メソッド bottom sender top インスタンスメソッド bottom top trace_func 特異メソッド bottom(n = 0) -> Binding[permalink][rdoc][edit] 下から n 番目のコンテキストを取り出します。 [PARAM] n: 取り出すコンテキストを Integer で指定します。n は 0 が最下位になります。 sender -> object[permalink][rdoc][edit] センダになっているオブジェクトを取り出します。センダとは、そのメソッドを呼び出した側の self のことです。 top(n = 0)
[edit] 以下にあげるものは、Array#pack、String#unpack、String#unpack1 のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」を表すこともできます。 長さの意味はテンプレート文字により異なりますが大抵、 "iiii" のように連続するテンプレート文字は "i4" と書き換えることができます。 テンプレート文字列中の空白類は無視されます。また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみなされ無視されます。 整数のテンプレート文字のシステム依存性 各テンプレート文字の説明の中で、 short や long はシステムによらずそれぞれ 2, 4バイトサイズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味しています。s,
[edit] 要約 名前のタイポによって NameError や NoMethodError が起きたときに、自動的に他の似た名前を提案してくれるライブラリです。 "Yuki".starts_with?("Y") # => NoMethodError: undefined method `starts_with?' for "Yuki":String # Did you mean? start_with? デフォルトで有効になっており、無効にするにはコマンドラインオプションで --disable=did_you_mean を指定します。 このライブラリはbundled gem(gemファイルのみを同梱)です。詳しい内容は下記のページを参照してください。 rubygems.org: https://rubygems.org/gems/did_you_mean プロジェクトページ: https
[edit] 要約 プログラムを実行し、そのプロセスの標準入力・標準出力・標準エラー出力にパイプをつなぎます。 使用例 nroff を実行してその標準入力に man ページを送り込み処理させる。 nroff プロセスの標準出力から処理結果を受け取る。 require "open3" stdin, stdout, stderr = *Open3.popen3('nroff -man') # こちらから書く Thread.fork { File.foreach('/usr/man/man1/ruby.1') do |line| stdin.print line end stdin.close # または close_write } # こちらから読む stdout.each do |line| print line end 目次 モジュール関数 capture2 capture2e captu
NEWS for Ruby 2.7.0¶ ↑ This document is a list of user visible feature changes made between releases except for bug fixes. Note that each entry is kept so brief that no reason behind or reference information is supplied with. For a full list of changes with all sufficient information, see the ChangeLog file or Redmine (e.g. https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER) Changes since th
dig(key, ...) -> object | nil[permalink][rdoc][edit] self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返します。途中のオブジェクトが nil であった場合は nil を返します。 [PARAM] key: キーを任意個指定します。 例 h = { foo: {bar: {baz: 1}}} h.dig(:foo, :bar, :baz) # => 1 h.dig(:foo, :zot, :xyz) # => nil g = { foo: [10, 11, 12] } g.dig(:foo, 1) # => 11 [SEE_ALSO] Array#dig, Struct#dig, OpenStruct#dig
[edit] 要約 YAML (YAML Ain't Markup Language) を扱うモジュールです。 YAML オブジェクトは実際は Psych オブジェクトです。その他のオブジェクトも同様に実体は別のオブジェクトです。もし確認したいメソッドの記述が見つからない場合は、psych ライブラリを確認してください。 例 require "yaml" p YAML # => Psych p YAML::Stream # => Psych::Stream 目次
Rubyの拡張ライブラリの作り方¶ ↑ Rubyの拡張ライブラリの作り方を説明します. 基礎知識¶ ↑ Cの変数には型があり,データには型がありません.ですから,た とえばポインタをintの変数に代入すると,その値は整数として取 り扱われます.逆にRubyの変数には型がなく,データに型がありま す.この違いのため,CとRubyは相互に変換しなければ,お互いの データをアクセスできません. RubyのデータはVALUEというCの型で表現されます.VALUE型のデー タはそのデータタイプを自分で知っています.このデータタイプと いうのはデータ(オブジェクト)の実際の構造を意味していて,Ruby のクラスとはまた違ったものです. VALUEからCにとって意味のあるデータを取り出すためには VALUEのデータタイプを知る VALUEをCのデータに変換する の両方が必要です.(1)を忘れると間違った
write_nonblock(string, exception: true) -> Integer | :wait_writable[permalink][rdoc][edit] IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。 write(2) が成功した場合、書き込んだ長さを返します。 EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。 書き込んだバイト数(つまり返り値)は String#bytesize の値より小さい可能性があります。 発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、その例外オブジェクトに IO::WaitWritable が Object#extend されます。よって IO::WaitWritable を wri
[edit] 要約 Markdown 形式で記述されたドキュメントを rdoc 上で解析するためのサブライブラリです。 詳しくは以下を参照してください。 https://daringfireball.net/projects/markdown/syntax Markdown 形式をデフォルトのフォーマットにする場合は、 rdoc/オプションの保存 を参考に プロジェクトのデフォルトを .rdoc_options ファイルで設定してください。 拡張 以降の Markdown の拡張は RDoc のパーサ独自にサポートされているものです。ただし、全てがデフォルトで有効になっている訳ではありません。 RDoc RDoc の Markdown のパーサは以下の無効にできない機能があります。 Underscores embedded in words are never interpreted as
trace_var(varname, hook) -> nil[permalink][rdoc][edit] trace_var(varname) {|new_val| .... } -> nil trace_var(varname, hook) -> [String|Proc] グローバル変数 varname への代入のフックを登録します。 ここでの「グローバル変数」は、特殊変数 (変数と定数/組み込み変数 を参照)も含めた `$' で始まる変数のことです。 この呼び出し以降、varname で指定したグローバル変数に値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。 trace_var がフックするのは明示的な代入だけです。フックは複数登録できます。
[edit] dynamic include: JSON::Generator::GeneratorMethods::Integer (by json) 要約 整数クラスです。 整数オブジェクトに特異メソッドを追加する事はできません。追加した場合、 TypeError が発生します。 かつて Integer クラスのエイリアスであった Fixnum と Bignum は 3.2 で削除されました。 目次 特異メソッド sqrt try_convert インスタンスメソッド % & * ** + - -@ / < << <= <=> == === > >= >> [] ^ | ~ abs allbits? anybits? bit_length ceil ceildiv chr denominator digits div divmod downto even? fdiv floor gcd
CSV.generate(str = "", options = Hash.new) {|csv| ... } -> String (62300.0) 2.4.0 2.5.0 2.6.0 2.7.0 3.0 3.1 3.2 3.3 特異メソッド このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。 ブロック内で CSV オブジェクトに行を追加することができます。 ブロックを評価した結果は文字列を返します。 ...このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。 ブロック内で CSV オブジェクトに行を追加することができます。 ブロックを評価した結果は文字列を返します。 このメソッド... ...。 //emlist[例][ruby]{ require "csv" text =<<-EOS id,first
system(command, options={}) -> bool | nil[permalink][rdoc][edit] system(env, command, options={}) -> bool | nil 引数を外部コマンドとして実行して、成功した時に真を返します。 子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。それ以外の終了ステータスの場合は false を返します。コマンドを実行できなかった場合は nil を返します。 options で :exception に true を指定することで、 nil や false を返す代わりに例外を発生するようにできます。 終了ステータスは変数 $? で参照できます。 コマンドを実行することができなかった場合、多くのシェルはステータス 127 を返します。シェルを介さない場合は Ruby の子プ
[edit] 要約 文字エンコーディング(文字符号化方式)のクラスです。Rubyの多言語対応(M17N)機能において利用されます。 例えば文字列オブジェクトは、文字列のバイト表現の他にそのバイト表現がどのエンコーディングによるものであるかも併せて保持しています。この情報は String#encoding により取得できます。 Encoding オブジェクトを返すメソッドにはこの他に IO#internal_encoding, IO#external_encoding などがあります。 @see 多言語化 目次 特異メソッド aliases compatible? default_external default_external= default_internal default_internal= find list locale_charmap name_list インスタンスメソッド
[edit] dynamic include: JSON::Generator::GeneratorMethods::Float (by json) 要約 浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環境に依存します。 一般にはせいぜい15桁です。詳しくは多くのシステムで採用されている浮動小数点標準規格、IEEE (Institute of Electrical and Electronics Engineers: 米国電気電子技術者協会) 754 を参照してください。 あるシステムでの 1/3(=0.333...) の結果 printf("%.50f\n", 1.0/3) # => 0.33333333333333331482961625624739099293947219848633 Math::PI などの数学定数については Math を参照し
raise -> ()[permalink][rdoc][edit] fail -> () raise(message, cause: $!) -> () fail(message, cause: $!) -> () raise(error_type, message = nil, backtrace = caller(0), cause: $!) -> () fail(error_type, message = nil, backtrace = caller(0), cause: $!) -> () 例外を発生させます。発生した例外は変数 $! に格納されます。また例外が発生した時のスタックトレースは変数 $@ に格納されます。発生した例外は rescue 節で捕捉できます。 引数無しの場合は、同スレッドの同じブロック内で最後に rescue された例外オブジェクト ($!) を再発生さ
次のページ
このページを最初にブックマークしてみませんか?
『docs.ruby-lang.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く