別のキーワード
ライブラリ
- ビルトイン (4)
- abbrev (2)
- coverage (1)
- csv (4)
- etc (1)
- json (3)
- mkmf (2)
-
net
/ http (3) - openssl (3)
- pathname (1)
- pp (1)
- prettyprint (1)
- prime (2)
- rake (4)
- readline (1)
-
ripper
/ filter (1) -
ripper
/ lexer (3) -
ripper
/ sexp (2) -
rubygems
/ requirement (4) - socket (2)
-
webrick
/ httpproxy (2) -
webrick
/ httpstatus (2)
クラス
- CSV (4)
- Coverage (1)
-
Gem
:: Requirement (4) - Integer (1)
-
JSON
:: State (2) - Object (1)
-
OpenSSL
:: BN (1) - PP (1)
- Pathname (1)
- PrettyPrint (1)
- Prime (2)
-
Rake
:: Application (1) - Ripper (5)
-
RubyVM
:: InstructionSequence (2) - Socket (2)
-
WEBrick
:: HTTPProxyServer (1)
モジュール
- Abbrev (1)
- Etc (1)
- Kernel (4)
-
OpenSSL
:: ASN1 (1) - Rake (2)
-
Rake
:: TaskManager (1) - Readline (1)
-
WEBrick
:: HTTPStatus (2)
キーワード
- Abbrev (1)
- Filter (1)
- HTTPPaymentRequired (1)
- HTTPPreconditionRequired (1)
- HTTPProxyAuthenticationRequired (1)
- HTTPProxyServer (1)
-
NEWS for Ruby 2
. 5 . 0 (1) -
RC
_ HTTP _ VERSION _ NOT _ SUPPORTED (1) -
RC
_ UNSUPPORTED _ MEDIA _ TYPE (1) -
SCRIPT
_ LINES _ _ (1) - abbrev (1)
-
add
_ loader (1) - application (1)
- application= (1)
-
compile
_ option (1) -
completion
_ append _ character= (1) - coverage (1)
- create (1)
- decode (1)
- default (1)
- each (2)
- entries (1)
- format (1)
- getaddrinfo (1)
- getifaddrs (1)
- irb (1)
- jj (1)
- lex (1)
- new (2)
- parse (2)
-
pretty
_ print (2) - read (1)
- readlines (1)
-
rexml
/ document (1) -
rexml
/ parsers / ultralightparser (1) - sexp (1)
-
sexp
_ raw (1) - slice (1)
- start (1)
- tasks (1)
-
to
_ a (1) -
to
_ bn (1) -
to
_ h (1) -
to
_ hash (1) - tokenize (1)
-
try
_ cpp (2) - tsort (1)
- uname (1)
検索結果
先頭5件
-
PP
. pp(obj , out = $ > , width = 79) -> object (105376.0) -
指定されたオブジェクト obj を出力先 out に幅 width で出力します。 出力先 out を返します。
指定されたオブジェクト obj を出力先 out に幅 width で出力します。
出力先 out を返します。
@param obj 表示したいオブジェクトを指定します。
@param out 出力先を指定します。<< メソッドが定義されている必要があります。
@param width 出力先の幅を指定します。
//emlist[][ruby]{
require 'pp'
str = PP.pp(b], [:a, [[:a, [:a, [:a, :b], [:a, :b],]]], '', 20)
puts str
# =>
# [[:a, :b],
# [:a,
# [[... -
Kernel
. # pp(*obj) -> object (54526.0) -
指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼ぶことと同等です。
指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。
obj それぞれを引数として PP.pp を呼ぶことと同等です。
初回呼び出し時に自動的に pp を require します。
@param obj 表示したいオブジェクトを指定します。
//emlist[例][ruby]{
require 'pp'
b = [1, 2, 3] * 4
a = [b, b]
a << a
pp a
#=> [[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2,... -
Net
:: HTTPPaymentRequired (36001.0) -
HTTP レスポンス 402 (Payment Required) を表現するクラスです。
HTTP レスポンス 402 (Payment Required) を表現するクラスです。
詳しくは 7231 Section 6.5.2 を見てください。 -
Net
:: HTTPPreconditionRequired (36001.0) -
HTTP レスポンス 428 (Precondition Required) を表現するクラスです。
HTTP レスポンス 428 (Precondition Required) を表現するクラスです。
詳しくは 6585 を見てください。 -
Net
:: HTTPProxyAuthenticationRequired (36001.0) -
HTTP レスポンス 407 (Proxy Authentication Required) を表現するクラスです。
HTTP レスポンス 407 (Proxy Authentication Required) を表現するクラスです。
詳しくは 7235 Section 3.2 を見てください。 -
Rake
. application -> Rake :: Application (18655.0) -
現在の Rake アプリケーションを返します。
現在の Rake アプリケーションを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'pp'
task default: :test_rake_app
task :test_rake_app do
pp Rake.application
end
# => #<Rake::Application:0x31b0f18
# @default_loader=#<Rake::DefaultLoader:0x31b0c78>,
# @imported=[],
# @last_description=nil,
# ... -
Rake
. application=(app) (18655.0) -
現在の Rake アプリケーションをセットします。
現在の Rake アプリケーションをセットします。
@param app Rake::Application のインスタンスを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'pp'
task default: :test_rake_app
task :test_rake_app do
app = Rake::Application.new
app.tty_output = true
Rake.application = app
pp Rake.application
end
# => #<Rake::App... -
Readline
. completion _ append _ character=(string) (18337.0) -
ユーザの入力の補完が完了した場合に、最後に付加する文字 string を指定します。
ユーザの入力の補完が完了した場合に、最後に付加する文字 string を指定します。
@param string 1文字を指定します。
@raise NotImplementedError サポートしていない環境で発生します。
半角スペース「" "」などの単語を区切る文字を指定すれば、
連続して入力する際に便利です。
require 'readline'
Readline.readline("> ", true)
Readline.completion_append_character = " "
> /var/li
ここで補完(TABキーを押す)を行う。
>... -
Kernel
# try _ cpp(src , opt = "" , *opts) -> bool (18319.0) -
C プログラムのソースコード src をプリプロセスします。
C プログラムのソースコード src をプリプロセスします。
$CPPFLAGS, $CFLAGS の値もプリプロセッサにコマンドライン引数
として渡します。
このメソッドはヘッダファイルの存在チェックなどに使用します。
@param src C プログラムのソースコードを指定します。
@param opt プリプロセッサにコマンドライン引数として渡す値を指定します。
@return 問題なくプリプロセスできたら true を返します。
プリプロセスに失敗したら false を返します。
例:
require 'mkmf'
if try_cpp("#in... -
Kernel
# try _ cpp(src , opt = "" , *opts) { . . . } -> bool (18319.0) -
C プログラムのソースコード src をプリプロセスします。
C プログラムのソースコード src をプリプロセスします。
$CPPFLAGS, $CFLAGS の値もプリプロセッサにコマンドライン引数
として渡します。
このメソッドはヘッダファイルの存在チェックなどに使用します。
@param src C プログラムのソースコードを指定します。
@param opt プリプロセッサにコマンドライン引数として渡す値を指定します。
@return 問題なくプリプロセスできたら true を返します。
プリプロセスに失敗したら false を返します。
例:
require 'mkmf'
if try_cpp("#in... -
WEBrick
:: HTTPProxyServer (18037.0) -
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
* https://magazine.rubyist.net/articles/0002/0002-WEBrickProxy.html
以下は完全に動作するプロクシサーバの例です。
require 'webrick'
require 'webrick/httpproxy'
s = WEBrick::HTTPProxyServer.new(Port: 8080)
Signal.trap('INT') do
s.shutdown
end
s.start -
Gem
:: Requirement . new(requirements) -> Gem :: Requirement (9619.0) -
Gem::Requirement のインスタンスを作成します。
Gem::Requirement のインスタンスを作成します。
@param requirements 文字列か配列か Gem::Version のインスタンスを指定します。
//emlist[][ruby]{
pp Gem::Requirement.new("~> 3.2.1")
# => Gem::Requirement.new(["~> 3.2.1"])
//}
@see Gem::Requirement#parse, Gem::Requirement.create -
WEBrick
:: HTTPProxyServer . new(config , default = WEBrick :: Config :: HTTP) -> WEBrick :: HTTPProxyServer (9409.0) -
プロクシオブジェクトを生成して返します。
プロクシオブジェクトを生成して返します。
@param config 設定を保存したハッシュを指定します。
設定として有効なハッシュのキーとその値は WEBrick::HTTPServer.new と同じです。
それに加えて以下のキーが有効です。
: :ProxyAuthProc
プロクシ認証を行う Proc オブジェクトを指定します。この proc は
WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクトを引数として
proc.call(req, res) ... -
Gem
:: Requirement # pretty _ print(pp) -> String (9406.0) -
わかりやすい形で、条件を表す文字列を返します。 pp メソッドで出力する際に、内部で用いられます。
わかりやすい形で、条件を表す文字列を返します。
pp メソッドで出力する際に、内部で用いられます。
@param PP :PP オブジェクトを指定します。
//emlist[][ruby]{
req = Gem::Requirement.new(["< 5.0", ">= 1.9"])
pp req # => Gem::Requirement.new(["< 5.0", ">= 1.9"])
//} -
Ripper
. lex(src , filename = & # 39;-& # 39; , lineno = 1) -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (9337.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
Ruby プログラム str をトークンに分割し、そのリストを返します。
ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
pp Ripper.lex("def m(a) nil end... -
Gem
:: Requirement . create(input) -> Gem :: Requirement (9319.0) -
Gem::Requirement のインスタンスを作成するためのファクトリメソッドです。
Gem::Requirement のインスタンスを作成するためのファクトリメソッドです。
@param input 文字列か配列か Gem::Requirement, Gem::Version のインスタンス
のいずれかを指定します。
@return 上記以外の値を input に指定するとデフォルト値を返します。
//emlist[][ruby]{
pp Gem::Requirement.create("~> 3.2.1")
# => Gem::Requirement.new(["~> 3.2.1"])
//}
@see Gem::Requirement.... -
Gem
:: Requirement . default -> Gem :: Requirement (9319.0) -
ゼロ以上 ( '>= 0' ) を指定して作成された Gem::Requirement のインスタンスを返します。
ゼロ以上 ( '>= 0' ) を指定して作成された Gem::Requirement のインスタンスを返します。
//emlist[][ruby]{
pp Gem::Requirement.default
# => Gem::Requirement.new([">= 0"])
//} -
WEBrick
:: HTTPStatus :: RC _ HTTP _ VERSION _ NOT _ SUPPORTED (9319.0) -
HTTP のステータスコードを表す整数です。
HTTP のステータスコードを表す整数です。
require 'webrick'
p WEBrick::HTTPStatus::RC_INTERNAL_SERVER_ERROR #=> 500 -
WEBrick
:: HTTPStatus :: RC _ UNSUPPORTED _ MEDIA _ TYPE (9319.0) -
HTTP のステータスコードを表す整数です。
HTTP のステータスコードを表す整数です。
require 'webrick'
p WEBrick::HTTPStatus::RC_INTERNAL_SERVER_ERROR #=> 500 -
Ripper
. sexp(src , filename = & # 39;-& # 39; , lineno = 1) -> object (9073.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
Ruby プログラム str を解析して S 式のツリーにして返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。
//emlist[例][ruby]{
require 'ripper'
require 'pp'
pp Ripper.sexp("def m(a)... -
Ripper
. sexp _ raw(src , filename = & # 39;-& # 39; , lineno = 1) -> object (9073.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
Ruby プログラム str を解析して S 式のツリーにして返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。
//emlist[例][ruby]{
require 'ripper'
require 'pp'
pp Ripper.sexp_raw("def ... -
Ripper
:: Filter (9037.0) -
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
このクラスを継承して、必要なイベントに対応するメソッドを定義して使用し
ます。
=== 使用例
//emlist[][ruby]{
require 'ripper'
require 'cgi'
class Ruby2HTML < Ripper::Filter
def on_default(event, tok, f)
f << CGI.escapeHTML(tok)
end
def on_comment(tok, f)
f << %Q[<span class="comment">... -
Rake
:: Application # add _ loader(ext , loader) (9019.0) -
与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを 自身に追加します。
与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを
自身に追加します。
@param ext 拡張子を指定します。
@param loader ローダーを指定します。
//emlist[例][ruby]{
require "rake/loaders/makefile"
# Rakefile での記載例とする
task default: :test
task :test
makefile =<<-EOS
<< <<-'SAMPLE_MF'
# Comments
a: a1 a2 a3 a4
EOS
IO.write("sample.mf", makefile)... -
Ripper
. slice(src , pattern , n = 0) -> String | nil (9019.0) -
Ruby プログラム src のうち、 パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
Ruby プログラム src のうち、
パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
マッチしない場合は nil を返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param pattern 取り出すプログラムのパターンを文字列で指定します。
@param n pattern で指定した文字列の内、n 番目の括弧の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。
pattern は Ripper のイベント ID のリストを文字列で記... -
Ripper
. tokenize(src , filename = & # 39;-& # 39; , lineno = 1) -> [String] (9019.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。
Ruby プログラム str をトークンに分割し、そのリストを返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "-" になります。
@param lineno src の開始行番号を指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
p Ripper.tokenize("def m(a) nil end")
# => ["def", " ", "m", "(", "a", ")", "... -
OpenSSL
:: BN # pretty _ print(pp) (442.0) -
Kernel.#pp でオブジェクトの内容を出力するときに、内部で呼ばれるメソッドです。
Kernel.#pp でオブジェクトの内容を出力するときに、内部で呼ばれるメソッドです。
//emlist[][ruby]{
require 'openssl'
pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}
@param pp PP クラスのインスタンスオブジェクト -
PrettyPrint
. format(output = & # 39;& # 39; , maxwidth = 79 , newline = "\n" , genspace = lambda{|n| & # 39; & # 39; * n}) {|pp| . . . } -> object (358.0) -
PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 与えられた output を返します。
PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。
与えられた output を返します。
以下と同じ働きをするもので簡便のために用意されています。
//emlist[][ruby]{
require 'prettyprint'
begin
pp = PrettyPrint.new(output, maxwidth, newline, &genspace)
...
pp.flush
output
end
//}
@param output 出力先を指定します。output は << メソッドを持っていなければなりません。
@param... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) -> Enumerator (355.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
全ての素数を順番に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
//emlist[例][ruby]{
require 'prime'
Prime.each(6){|prime| ... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) {|prime| . . . } -> object (355.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
全ての素数を順番に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
//emlist[例][ruby]{
require 'prime'
Prime.each(6){|prime| ... -
coverage (199.0)
-
カバレッジを測定するためのライブラリです。
カバレッジを測定するためのライブラリです。
=== 基本的な使い方
以下のようにして測定を行います。
(1) require "coverage" で、ライブラリを読み込む。
(2) Coverage.start を実行し、測定を開始する。
(3) require や load で測定対象のファイルを実行する。
(4) Coverage.result や Coverage.peek_result で結果を確認する。
Coverage.result は、ファイル名をキーとし、カバレッジ測定結果を値とするハッシュを返します。
==== 簡単な例
まず測定対象のソースを用... -
irb (127.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロンプトが表れます。
$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def f... -
Socket
. getifaddrs -> [Socket :: Ifaddr] (109.0) -
インターフェイスのアドレスを Socket::Ifaddr の配列で返します。
インターフェイスのアドレスを Socket::Ifaddr の配列で返します。
本メソッドはマルチキャスト通信が可能なインターフェイスを見つけるために使う事ができます。
require 'socket'
pp Socket.getifaddrs.reject {|ifaddr|
!ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MULTICAST == 0)
}.map {|ifaddr| [ifaddr.name, ifaddr.ifindex, ifaddr.addr] }
#=> [["eth0", 2, #<... -
CSV
. parse(str , options = Hash . new) -> Array (91.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。
@param str 文字列を指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require 'csv'
require 'pp'
s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS
pp CSV.parse(s)
# => ... -
CSV
. parse(str , options = Hash . new) {|row| . . . } -> nil (91.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。
@param str 文字列を指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require 'csv'
require 'pp'
s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS
pp CSV.parse(s)
# => ... -
CSV
. read(path , options = Hash . new) -> [Array] | CSV :: Table (91.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエンコーディングを指定することができます。
入力のエンコーディングか Encoding.default_external と異なる場合は
必ず指定... -
CSV
. readlines(path , options = Hash . new) -> [Array] | CSV :: Table (91.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエンコーディングを指定することができます。
入力のエンコーディングか Encoding.default_external と異なる場合は
必ず指定... -
rexml
/ parsers / ultralightparser (91.0) -
パース結果を配列で作られた木構造により返すパーサ。
パース結果を配列で作られた木構造により返すパーサ。
REXML::Parsers::UltraLightParser.new でパーサオブジェクトを
生成し、REXML::Parsers::UltraLightParser#parse でパースし
その結果の木構造を返します。
===[a:nodes] ノードの表現
REXML::Parsers::UltraLightParser#parse が返す
XML の各ノードは配列で表現されます。
配列の最初の要素はシンボルでノードの種類を表わし、2番目以降の要素で
そのノードの情報を保持しています。
例えばテキストノードは [:text, テキ... -
Abbrev (73.0)
-
与えられた文字列の短縮形を生成するモジュールです。
与えられた文字列の短縮形を生成するモジュールです。
=== 例
require 'abbrev'
require 'pp'
pp Abbrev.abbrev(%w[ruby rules]).sort
# => [["rub", "ruby"],
# ["ruby", "ruby"],
# ["rul", "rules"],
# ["rule", "rules"],
# ["rules", "rules"]] -
Etc
. # uname -> {Symbol => String} (73.0) -
uname(2) で取得したシステム情報を Hash で返します。
uname(2) で取得したシステム情報を Hash で返します。
@return 少なくとも :sysname, :nodename, :release, :version, :machine の
5 つのキーを持つ Hash を返します。
//emlist[例][ruby]{
require 'etc'
require 'pp'
pp Etc.uname
# => {:sysname=>"Linux",
# :nodename=>"boron",
# :release=>"2.6.18-6-xen-686",
# :version=>"#1 ... -
JSON
:: State # to _ h -> Hash (73.0) -
自身をハッシュに変換します。
自身をハッシュに変換します。
//emlist[例][ruby]{
require "json"
require "pp"
json_state = JSON::State.new
pp json_state.to_h
# => {:indent=>"",
# :space=>"",
# :space_before=>"",
# :object_nl=>"",
# :array_nl=>"",
# :allow_nan=>false,
# :ascii_only=>false,
# :max_nesting=>100,
# ... -
JSON
:: State # to _ hash -> Hash (73.0) -
自身をハッシュに変換します。
自身をハッシュに変換します。
//emlist[例][ruby]{
require "json"
require "pp"
json_state = JSON::State.new
pp json_state.to_h
# => {:indent=>"",
# :space=>"",
# :space_before=>"",
# :object_nl=>"",
# :array_nl=>"",
# :allow_nan=>false,
# :ascii_only=>false,
# :max_nesting=>100,
# ... -
Object
:: SCRIPT _ LINES _ _ -> Hash (73.0) -
ソースファイル別にまとめられたソースコードの各行。
ソースファイル別にまとめられたソースコードの各行。
この定数は、デフォルトでは定義されていません。
この定数がハッシュとして定義された後にソースがコンパイルされると、
そのソースファイル名をキーに、
ソースを行毎に分割した配列を値にしたハッシュ要素が設定されます。
この定数はデバッガ (debug) などで利用されています。
また、 Kernel.#eval によるコンパイルは対象にはなりません。
例:
require 'pp'
SCRIPT_LINES__ = {}
require 'English'
pp SCRIPT_LINES__
... -
OpenSSL
:: ASN1 . # decode(der) -> OpenSSL :: ASN1 :: ASN1Data (73.0) -
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を
OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。
複数の ASN.1 の値が含まれている場合、先頭の値だけを返します。
ASN.1 オブジェクトが Constructive である場合は、
それを構成する要素も再帰的に解析します。
例:
ruby -e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem... -
Pathname
# entries -> [Pathname] (73.0) -
self に含まれるファイルエントリ名を元にした Pathname オブジェクトの配列を返します。
self に含まれるファイルエントリ名を元にした Pathname オブジェクトの配列を返します。
@raise Errno::EXXX self が存在しないパスであったりディレクトリでなければ例外が発生します。
//emlist[例][ruby]{
require 'pathname'
require 'pp'
pp Pathname('/usr/local').entries
# => [#<Pathname:.>,
# #<Pathname:..>,
# #<Pathname:bin>,
# #<Pathname:etc>,
# #<Pathnam... -
rexml
/ document (73.0) -
DOM スタイルの XML パーサ。
DOM スタイルの XML パーサ。
REXML::Document.new で XML 文書から DOM ツリーを
構築し、ツリーのノードの各メソッドで文書の内容にアクセスします。
以下のプログラムではブックマークの XML からデータを取り出します。
//emlist[][ruby]{
require 'rexml/document'
require 'pp'
Bookmark = Struct.new(:href, :title, :desc)
doc = REXML::Document.new(<<XML)
<?xml version="1.0" encoding="UTF-... -
Abbrev
. # abbrev(words , pattern = nil) -> Hash (55.0) -
文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
文字列の配列から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。
第二引数に正規表現を指定すると、words のうちそのパターンにマッチしたものから短縮形を計算します。
第二引数に文字列を指定すると、words のうちその文字列で始まるものから短縮形を計算します。
@param words 元となる文字列の配列。
@param pattern Regexp か String を指定します。
@return 短縮形をキー、元の文字列を値とするハッシュを返します。
require 'abbrev'
# words に同じ文字列が含まれ... -
Coverage
. start(option = {}) -> nil (55.0) -
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。 ただし、カバレッジ計測中に測定対象を変更しようとした場合は、RuntimeError となります。
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。
ただし、カバレッジ計測中に測定対象を変更しようとした場合は、RuntimeError となります。
@param option カバレッジの計測モードを指定します。
:all か "all" を指定すると、全ての種類を計測します。
個別に指定する場合は、ハッシュを渡します。
詳細は、coverage ライブラリ を参照してください。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
... -
Integer
# to _ bn -> OpenSSL :: BN (55.0) -
Integer を同じ数を表す OpenSSL::BN のオブジェクトに 変換します。
Integer を同じ数を表す OpenSSL::BN のオブジェクトに
変換します。
//emlist[][ruby]{
require 'openssl'
pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}
なお、実装は、以下のようになっています。
//emlist[][ruby]{
class Integer
def to_bn
OpenSSL::BN::new(self)
end
end
//}
@see OpenSSL::BN.new, OpenSSL::... -
Rake
:: TaskManager # tasks -> Array (55.0) -
全てのタスクリストを返します。
全てのタスクリストを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'pp'
task default: :test_rake_app2
task :test_rake_app1 do |task|
end
task :test_rake_app2 do |task|
pp task.application.tasks
# => [<Rake::Task default => [test_rake_app2]>,
# <Rake::Task test_rake_app1 => []>,
# <Rake... -
RubyVM
:: InstructionSequence # to _ a -> Array (55.0) -
self の情報を 14 要素の配列にして返します。
self の情報を 14 要素の配列にして返します。
命令シーケンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージョン。
: format_type
データフォーマットを示す数値。常に 1。
: misc
以下の要素から構成される Hash オブジェクト。
:arg_size: メソッド、ブ... -
RubyVM
:: InstructionSequence . compile _ option -> Hash (55.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返 します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返
します。
//emlist[例][ruby]{
require "pp"
pp RubyVM::InstructionSequence.compile_option
# => {:inline_const_cache=>true,
# :peephole_optimization=>true,
# :tailcall_optimization=>false,
# :specialized_instruction=>true,
# :operands_unification=>true,
# :instructi... -
tsort (55.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
#=> [3, 2, 1, 4]
{1=>[2], 2=>[3, 4... -
Kernel
# jj(*objects) -> nil (37.0) -
与えられたオブジェクトを JSON 形式の文字列で標準出力に人間に読みやすく整形して出力します。
与えられたオブジェクトを JSON 形式の文字列で標準出力に人間に読みやすく整形して出力します。
@param objects JSON 形式で出力したいオブジェクトを指定します。
//emlist[例][ruby]{
require "json"
jj([1,2,{"name" => "tanaka","age" => 19}])
# => [
# 1,
# 2,
# {
# "name": "tanaka",
# "age": 19
# }
# ]
//}
@see Kernel.#pp -
NEWS for Ruby 2
. 5 . 0 (37.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ms.org/2017/11/08/2.7.2-released.html
* https://blog.rubygems.org/2017/11/03/2.7.1-released.html
* https://blog.rubygems.org/2017/11/01/2.7.0-released.html
* https://blog.rubygems.org/2017/10/09/2.6.14-released.html
* https://blog.rubygems.org/2017/08/27/2.6.13-released.html... -
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (37.0) -
2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
2553で定義された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。
@param nodename ホスト名を指定します。 必須引数です。 (lib:socket#host_formatを参照)
@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)
@param family アドレスファミリー。Sock...