ライブラリ
- ビルトイン (95)
- benchmark (1)
- csv (1)
- erb (6)
-
irb
/ output-method (1) -
irb
/ xmp (1) - json (2)
- matrix (2)
-
net
/ http (6) -
net
/ pop (2) - nkf (1)
- objspace (2)
- open-uri (3)
- open3 (2)
- openssl (2)
- optparse (2)
- pp (1)
- rake (1)
-
rdoc
/ markup (4) -
rubygems
/ requirement (1) - shell (2)
- socket (3)
- stringio (1)
- strscan (1)
- syslog (4)
- timeout (2)
- tmpdir (2)
- tracer (1)
- uri (2)
- win32ole (9)
- zlib (13)
クラス
-
ARGF
. class (5) - Array (2)
- BasicObject (1)
- CSV (1)
- Class (1)
- Dir (2)
- ERB (2)
-
Encoding
:: Converter (2) -
Encoding
:: InvalidByteSequenceError (1) -
Encoding
:: UndefinedConversionError (1) - Enumerator (3)
-
File
:: Stat (1) -
Gem
:: Requirement (1) - IO (2)
-
IRB
:: OutputMethod (1) - Integer (1)
- Matrix (2)
- Method (2)
- Module (8)
-
Net
:: HTTP (5) -
Net
:: POP3 (2) - Object (7)
- OptionParser (2)
- PP (1)
-
RDoc
:: Markup (3) - Range (1)
-
RubyVM
:: AbstractSyntaxTree :: Node (1) -
RubyVM
:: InstructionSequence (10) - Shell (2)
- Socket (2)
- String (9)
- StringIO (1)
- StringScanner (1)
- Struct (2)
- Thread (2)
-
Thread
:: Backtrace :: Location (1) -
Thread
:: Queue (3) -
Thread
:: SizedQueue (3) - ThreadGroup (1)
- TracePoint (1)
- Tracer (1)
- UNIXSocket (1)
-
WIN32OLE
_ METHOD (2) -
WIN32OLE
_ PARAM (3) -
WIN32OLE
_ TYPE (2) -
WIN32OLE
_ TYPELIB (1) -
WIN32OLE
_ VARIABLE (1) - XMP (1)
-
Zlib
:: Deflate (1) -
Zlib
:: GzipReader (4) -
Zlib
:: GzipWriter (8)
モジュール
- Benchmark (1)
-
ERB
:: Util (4) - Enumerable (6)
- FileUtils (1)
-
GC
:: Profiler (1) - JSON (1)
-
JSON
:: Generator :: GeneratorMethods :: String (1) - Kernel (10)
-
Net
:: HTTPHeader (1) - ObjectSpace (5)
- Open3 (2)
-
OpenSSL
:: Buffering (1) - OpenURI (2)
-
RubyVM
:: AbstractSyntaxTree (1) - Syslog (4)
- Timeout (2)
- URI (2)
キーワード
-
$ stdout (1) - Markup (1)
-
NEWS for Ruby 2
. 0 . 0 (1) - NKF (1)
- Queue (1)
- Request (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- Rubyの起動 (1)
- Status (1)
- ThreadGroup (1)
- UndefinedConversionError (1)
-
absolute
_ path (2) - add (1)
-
add
_ html (1) -
add
_ special (1) -
add
_ word _ pair (1) -
alias
_ method (1) -
allocation
_ sourcefile (1) -
allocation
_ sourceline (1) -
base
_ label (1) - bigdecimal (1)
-
compile
_ file (1) - concat (1)
- convert (1)
- cycle (3)
- decode (1)
- default (1)
-
default
_ event _ sources (1) - deflate (1)
-
delete
_ all (2) - deq (2)
- disasm (2)
- disassemble (2)
- dump (1)
- each (7)
-
each
_ byte (1) -
each
_ line (3) -
each
_ object (2) -
each
_ value (1) -
each
_ with _ index (1) -
enum
_ for (2) -
error
_ bytes (1) -
error
_ char (1) - exit (1)
- exit! (1)
- flush (1)
- foreach (1)
- gsub (4)
- guid (2)
- h (1)
-
html
_ escape (1) - inherited (1)
- input? (1)
-
insert
_ output (1) - inspect (1)
-
instruction
_ sequence (1) - label (1)
- lineno= (1)
- loop (1)
-
max
_ by (4) - measure (1)
-
method
_ added (1) -
method
_ removed (1) -
method
_ undefined (1) - mktmpdir (2)
- new (3)
- next (1)
- of (2)
-
on
_ head (1) -
on
_ tail (1) - open (5)
- open! (1)
-
open
_ uri (2) - output? (1)
- owner (1)
- path (1)
-
pipeline
_ rw (1) - pop (2)
- popen3 (1)
- pp (1)
- prepend (1)
- prepended (1)
-
pretty
_ unparse (1) -
public
_ send (2) - putc (1)
-
rb
_ protect (1) -
rdoc
/ markup / to _ ansi (1) -
rdoc
/ markup / to _ bs (1) -
rdoc
/ markup / to _ html (1) - refine (1)
- reopen (1)
-
request
_ get (2) -
request
_ post (2) -
respond
_ to? (1) - result (2)
-
return
_ type (1) -
return
_ vtype (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) - run (1)
-
send
_ io (1) -
send
_ request (1) - setuid? (1)
- sh (1)
- shift (2)
-
singleton
_ method _ undefined (1) -
source
_ location (1) - stdout= (1)
- sub (3)
- tcp (2)
- test (2)
- throw (1)
- timeout (2)
- times (1)
-
to
_ enum (2) -
to
_ json (1) -
unalias
_ command (1) -
undef
_ method (1) -
undef
_ system _ command (1) -
undefine
_ finalizer (1) - unescape (1)
- unscan (1)
- upto (1)
-
url
_ encode (1) - value (1)
- wakeup (1)
- warn (1)
-
with
_ object (2) - wrap (2)
- クラス/メソッドの定義 (1)
検索結果
先頭5件
-
IRB
:: OutputMethod # puts(*objs) -> object (90604.0) -
各 obj を self に出力し、それぞれの後に改行を出力します。
各 obj を self に出力し、それぞれの後に改行を出力します。
@param objs 任意のオブジェクトを指定します。 -
Kernel
. # puts(*arg) -> nil (72730.0) -
引数と改行を順番に 標準出力 $stdout に出力します。 引数がなければ改行のみを出力します。
引数と改行を順番に 標準出力 $stdout に出力します。
引数がなければ改行のみを出力します。
引数が配列の場合、その要素と改行を順に出力します。
配列や文字列以外のオブジェクトが引数として与えられた場合には、
当該オブジェクトを最初に to_ary により配列へ、
次に to_s メソッドにより文字列へ変換を試みます。
末尾が改行で終っている引数や配列の要素に対しては puts 自身
は改行を出力しません。
@param arg 出力するオブジェクトを任意個指定します。
@raise IOError 標準出力が書き込み用にオープンされていなければ発生します。
@raise Errn... -
IO
# puts(*obj) -> nil (72706.0) -
各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。
各 obj を self に出力し、それぞれの後に改行を出力します。
引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し
てください。
@param obj 出力したいオブジェクトを指定します。Kernel.#puts と同じです。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
$stdout.puts("this", "is", "a", "test", [1, [nil, 3]])
#=>
thi... -
Zlib
:: GzipWriter # puts(*str) -> nil (72676.0) -
各引数を自身に出力し、それぞれの後に改行を出力します。
各引数を自身に出力し、それぞれの後に改行を出力します。
@param str 出力したいオブジェクトを指定します。
require 'zlib'
filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
gz.puts "fuga"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
puts gz.read
}
#=> ... -
StringIO
# puts(*obj) -> nil (72670.0) -
obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。 詳しい仕様は Kernel.#puts を参照して下さい。
obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。
詳しい仕様は Kernel.#puts を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.puts("hoge", "bar", "foo")
a.string #=> "hoge\nbar\nfoo\n"
//} -
ARGF
. class # puts(*arg) -> nil (72622.0) -
引数と改行を順番に処理対象のファイルに出力します。 引数がなければ改行のみを出力します。
引数と改行を順番に処理対象のファイルに出力します。
引数がなければ改行のみを出力します。
c:ARGF#inplace時にのみ使用できます。
また $stdout への代入の影響を受けません。
それ以外は Kernel.#puts と同じです。
@param arg 出力するオブジェクトを任意個指定します。 -
OpenSSL
:: Buffering # puts(*objs) -> nil (72622.0) -
各オブジェクトを出力し、それぞれの後に改行を出力します。
各オブジェクトを出力し、それぞれの後に改行を出力します。
IO#puts と同様です。
@param objs 出力したいオブジェクト -
XMP
# puts(exps) -> nil (72604.0) -
引数 exps で指定されたRuby のソースコードとその実行結果を、標準出力に行 ごとに交互に表示します。
引数 exps で指定されたRuby のソースコードとその実行結果を、標準出力に行
ごとに交互に表示します。
@param exps 評価するRuby のソースコードを文字列で指定します。 -
CSV
# puts(row) -> self (54622.0) -
自身に row を追加します。
自身に row を追加します。
データソースは書き込み用にオープンされていなければなりません。
@param row 配列か CSV::Row のインスタンスを指定します。
CSV::Row のインスタンスが指定された場合は、CSV::Row#fields の値
のみが追加されます。
//emlist[例 配列を指定][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18... -
ERB
:: Util . # u(s) -> String (54322.0) -
文字列 s を URLエンコードした文字列を返します。
文字列 s を URLエンコードした文字列を返します。
文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。
@param s URLエンコードを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P... -
Encoding
:: Converter # insert _ output(string) -> nil (36727.0) -
変換器内のバッファに文字列を挿入します。 バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換器内のバッファに文字列を挿入します。
バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換先がステートフルなエンコーディングであった場合、
挿入された文字列は状態に基づいて変換され、状態を更新します。
このメソッドは変換に際してエラーが発生した際にのみ利用されるべきです。
@param string 挿入する文字列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec.... -
WIN32OLE
_ PARAM # output? -> bool (36619.0) -
パラメータがクライアントからの結果を受け取るためのものかを判定します。
パラメータがクライアントからの結果を受け取るためのものかを判定します。
OLEオートメーションのパラメータは、in(クライアントからサーバへ与える。
WIN32OLE_PARAM#input?が真)、out(サーバがクライアントへ与える。
WIN32OLE_PARAM#output?が真)および、inout(クライアントからサーバ
へ与え、サーバがクライアントへ与える)の3種類の方向属性のいずれかを持ち
ます。
output?メソッドはout属性またはinout属性なら真を返します。
@return メソッドの方向属性がoutまたはinoutならば真を返します。
tobj = W... -
Thread
:: Queue (36019.0) -
Queue はスレッド間の FIFO(first in first out) の通信路です。ス レッドが空のキューを読み出そうとすると停止します。キューになんら かの情報が書き込まれると実行は再開されます。
Queue はスレッド間の FIFO(first in first out) の通信路です。ス
レッドが空のキューを読み出そうとすると停止します。キューになんら
かの情報が書き込まれると実行は再開されます。
最大サイズが指定できる Queue のサブクラス Thread::SizedQueue も提供されています。
=== 例
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resou... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (27373.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (27373.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (27319.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) {|sio| . . . } -> nil (27319.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
Zlib
:: GzipWriter # flush(flush = Zlib :: SYNC _ FLUSH) -> self (18973.0) -
まだ書き出されていないデータをフラッシュします。
まだ書き出されていないデータをフラッシュします。
flush は Zlib::Deflate#deflate と同じです。
省略時は Zlib::SYNC_FLUSH が使用されます。
flush に Zlib::NO_FLUSH を指定することは無意味です。
@param flush Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
require 'zlib'
def case1
filename='hoge1.gz'
fw = File.open(filename, "w")
... -
Net
:: HTTPHeader # each _ value {|value| . . . . } -> () (18619.0) -
保持しているヘッダの値をブロックに渡し、呼びだします。
保持しているヘッダの値をブロックに渡し、呼びだします。
渡される文字列は ", " で連結したものです。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.each_value { |value| puts value }
# => gzip;q=1.0,deflate;q=0.6,identity;q=0.3
# => */*
# => Ruby
//} -
Object
# enum _ for(method = :each , *args) -> Enumerator (18619.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# enum _ for(method = :each , *args) {|*args| . . . } -> Enumerator (18619.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) -> Enumerator (18619.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) {|*args| . . . } -> Enumerator (18619.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
TracePoint
# instruction _ sequence -> RubyVM :: InstructionSequence (18619.0) -
script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。
script_compiledイベント発生時にコンパイルされた
RubyVM::InstructionSequenceインスタンスを返します。
//emlist[例][ruby]{
TracePoint.new(:script_compiled) do |tp|
p tp.instruction_sequence # => <RubyVM::InstructionSequence:block in <main>@(eval):1>
end.enable do
eval("puts 'hello'")
end
//}
@raise RuntimeError :script_comp... -
String
# gsub(pattern , replace) -> String (18391.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した... -
String
# sub(pattern , replace) -> String (18391.0) -
文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチした最初の部分を
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定し... -
StringScanner
# unscan -> self (18355.0) -
スキャンポインタを前回のマッチの前の位置に戻します。
スキャンポインタを前回のマッチの前の位置に戻します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
//}
@return selfを返します。
このメソッドでポインタを戻せるのは 1 回分だけです。
2 回分以上戻そうとしたときは例外 StringScanner::Error が発生します。
また、まだマッチを一度も行っていないときや、
前回のマッチが失敗してい... -
Thread
# run -> self (18355.0) -
停止状態(stop)のスレッドを再開させます。 Thread#wakeup と異なりすぐにスレッドの切り替え を行います。
停止状態(stop)のスレッドを再開させます。
Thread#wakeup と異なりすぐにスレッドの切り替え
を行います。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。
//emlist[例][ruby]{
a = Thread.new { puts "a"; Thread.stop; puts "c" }
sleep 0.1 while a.status!='sleep'
puts "Got here"
a.run
a.join
# => a
# => Got here
# => c
//}
@see Thread#wakeup, Threa... -
Benchmark
. # measure(label = "") { . . . } -> Benchmark :: Tms (18337.0) -
与えられたブロックを実行して、経過した時間を Process.#times で計り、 Benchmark::Tms オブジェクトを生成して返します。
与えられたブロックを実行して、経過した時間を Process.#times で計り、
Benchmark::Tms オブジェクトを生成して返します。
Benchmark::Tms オブジェクトには to_s が定義されているので、
基本的には以下のように使います。
//emlist[][ruby]{
require 'benchmark'
puts Benchmark::CAPTION
puts Benchmark.measure { "a"*1_000_000 }
#=>
#
# user system total real
# 1.1666... -
Module
# undef _ method(*name) -> self (18337.0) -
このモジュールのインスタンスメソッド name を未定義にします。
このモジュールのインスタンスメソッド name を未定義にします。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
=== 「未定義にする」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区別されます。
以下のコード例を参照してください。
//emlist[例][ruby]{
class A
... -
Shell
. unalias _ command(alias) -> () (18337.0) -
commandのaliasを削除します.
commandのaliasを削除します.
@param alias 削除したいエイリアスの名前を文字列で指定します。
@raise NameError alias で指定したコマンドが無い場合に発生します。
使用例: ls -la | sort -k 5 のような例。
require 'shell'
Shell.def_system_command("ls")
Shell.alias_command("lsla", "ls", "-a", "-l")
Shell.def_system_command("sort")
sh = Shell.new
sh.trans... -
Shell
. undef _ system _ command(command) -> Shell :: CommandProcessor (18337.0) -
commandを削除します.
commandを削除します.
@param command 削除するコマンドの文字列を指定します。
動作例:
require 'shell'
Shell.def_system_command("ls")
# ls を定義
Shell.undef_system_command("ls")
# ls を 削除
sh = Shell.new
begin
sh.transact {
ls("-l").each {|l|
puts l
}
}
rescue NameError => err
puts ... -
String
# dump -> String (18337.0) -
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。
str == eval(str.dump) となることが保証されています。
//emlist[例][ruby]{
# p だとさらにバックスラッシュが増えて見にくいので puts している
puts "abc\r\n\f\x00\b10\\\"".dump # => "abc\r\n\f\000\01010\\\""
//}
@see String#undump -
String
# upto(max , exclusive = false) {|s| . . . } -> self (18337.0) -
self から始めて max まで 「次の文字列」を順番にブロックに与えて繰り返します。 「次」の定義については String#succ を参照してください。
self から始めて max まで
「次の文字列」を順番にブロックに与えて繰り返します。
「次」の定義については String#succ を参照してください。
たとえば以下のコードは a, b, c, ... z, aa, ... az, ..., za を
出力します。
//emlist[][ruby]{
("a" .. "za").each do |str|
puts str
end
'a'.upto('za') do |str|
puts str
end
//}
@param max 繰り返しをやめる文字列
@param exclusive max を含むかどうか... -
WIN32OLE
_ PARAM # default -> object | nil (18337.0) -
パラメータを指定しなかった場合の既定値を取得します。
パラメータを指定しなかった場合の既定値を取得します。
当パラメータが必須パラメータの場合はnilを返します。
@return パラメータを指定しなかった場合の既定値。必須パラメータならばnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
method.params.each do |param|
if param.default
puts "... -
Zlib
:: GzipWriter # putc(ch) -> object (18337.0) -
文字 ch を自身に出力します。
文字 ch を自身に出力します。
ch が数値なら 0 〜 255 の範囲の対応する文字を出力します。
ch が文字列なら、その先頭 1byte を出力します。
どちらでもない場合は、ch.to_int で整数に変換を試みます。
@param ch 出力する文字を数値または文字列で指定します。
@return ch を返します。
require 'zlib'
filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
... -
ERB
:: Util . # url _ encode(s) -> String (18322.0) -
文字列 s を URLエンコードした文字列を返します。
文字列 s を URLエンコードした文字列を返します。
文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。
@param s URLエンコードを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts url_encode("Programming Ruby: The Pragmatic Programmer's Guide")
# Programming%20Ruby%3A%20%20The%20Pragmatic%20P... -
BasicObject
# singleton _ method _ undefined(name) -> object (18319.0) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
特異メソッドが Module#undef_method または
undef により未定義にされた時にインタプリタから呼び出されます。
通常のメソッドの未定義に対するフックには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj... -
ERB
# result(b=TOPLEVEL _ BINDING) -> String (18319.0) -
ERB を b の binding で実行し、結果の文字列を返します。
ERB を b の binding で実行し、結果の文字列を返します。
@param b eRubyスクリプトが実行されるときのbinding
//emlist[例][ruby]{
require 'erb'
erb = ERB.new("test <%= test1 %>\ntest <%= test2 %>\n")
test1 = "foo"
test2 = "bar"
puts erb.result
# test foo
# test bar
//}
@see ERB#result_with_hash -
File
:: Stat # setuid? -> bool (18319.0) -
setuidされている時に真を返します。
setuidされている時に真を返します。
//emlist[][ruby]{
Dir.glob("/bin/*") {|bd|
if File::Stat.new(bd).setuid?
puts bd
end
}
#例
#...
#=> /bin/ping
#=> /bin/su
#...
//} -
GC
:: Profiler . result -> String (18319.0) -
GC のプロファイル情報をフォーマットし、文字列として返します。
GC のプロファイル情報をフォーマットし、文字列として返します。
プロファイル情報は、GC の発生ごとに集計します。
以下は、5 回 GC が発生した場合の実行例です。
$ ruby -e "GC::Profiler.enable; a = Array.new(100000){ 'aa' }; puts GC::Profiler.result"
GC 5 invokes.
Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object ... -
Method
# source _ location -> [String , Integer] | nil (18319.0) -
ソースコードのファイル名と行番号を配列で返します。
ソースコードのファイル名と行番号を配列で返します。
その手続オブジェクトが ruby で定義されていない(つまりネイティブ
である)場合は nil を返します。
@see Proc#source_location
//emlist[例][ruby]{
# ------- /tmp/foo.rb ---------
class Foo
def foo; end
end
# ----- end of /tmp/foo.rb ----
require '/tmp/foo'
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m.source... -
Module
# method _ undefined(name) -> () (18319.0) -
このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
このモジュールのインスタンスメソッド name が
Module#undef_method によって削除されるか、
undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
特異メソッドの削除をフックするには
BasicObject#singleton_method_undefined
を使います。
@param name 削除/未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class C
def C.method_undefined(name)
puts "method C\##{name} was... -
Net
:: HTTP # send _ request(name , path , data = nil , header = nil) -> Net :: HTTPResponse (18319.0) -
HTTP リクエストをサーバに送り、そのレスポンスを Net::HTTPResponse のインスタンスとして返します。
HTTP リクエストをサーバに送り、そのレスポンスを
Net::HTTPResponse のインスタンスとして返します。
@param name リクエストのメソッド名を文字列で与えます。
@param path リクエストのパスを文字列で与えます。
@param data リクエストのボディを文字列で与えます。
@param header リクエストのヘッダをハッシュで与えます。
//emlist[例][ruby]{
response = http.send_request('GET', '/index.html')
puts response.body
//}
@see Net::H... -
Object
# public _ send(name , *args) -> object (18319.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ
ドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
@raise ArgumentError name を指定しなかった場合に発生します。
@raise NoMethodError protected メソッドや priv... -
Object
# public _ send(name , *args) { . . . . } -> object (18319.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ
ドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
@raise ArgumentError name を指定しなかった場合に発生します。
@raise NoMethodError protected メソッドや priv... -
ObjectSpace
. # allocation _ sourcefile(object) -> String (18319.0) -
objectの元となったソースファイル名を返します。
objectの元となったソースファイル名を返します。
@param object 元となるソースファイル名を取得したいobjectを指定します。
@return objectの元となるソースファイル名を返します。存在しない場合はnilを返します。
//emlist[例:test.rbというファイルで下記のスクリプトを実行した場合][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "file:#{ObjectSpace::allocation_sourc... -
ObjectSpace
. # allocation _ sourceline(object) -> Integer (18319.0) -
objectの元となったソースファイルの行番号を返します。
objectの元となったソースファイルの行番号を返します。
@param object 元となるソースファイルの行番号を取得したいobjectを指定します。
@return objectの元となるソースファイルの行番号を返します。存在しない場合はnilを返します。
//emlist[例][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "line:#{ObjectSpace::allocation_sourceline(obj)}" # => lin... -
ObjectSpace
. # undefine _ finalizer(obj) -> object (18319.0) -
obj に対するファイナライザをすべて解除します。 obj を返します。
obj に対するファイナライザをすべて解除します。
obj を返します。
@param obj ファイナライザを解除したいオブジェクトを指定します。
//emlist[例][ruby]{
class Sample
def Sample.callback
proc {
puts "finalize"
}
end
def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end
def undef
ObjectSpace.undefine_final... -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (18319.0) -
self が表す命令シーケンスの絶対パスを返します。
self が表す命令シーケンスの絶対パスを返します。
self を文字列から作成していた場合は nil を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.... -
Thread
# wakeup -> self (18319.0) -
停止状態(stop)のスレッドを実行可能状態(run)にします。
停止状態(stop)のスレッドを実行可能状態(run)にします。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。
//emlist[例][ruby]{
c = Thread.new { Thread.stop; puts "hey!" }
sleep 0.1 while c.status!='sleep'
c.wakeup
c.join
# => "hey!"
//}
@see Thread#run, Thread.stop -
Thread
:: Backtrace :: Location # absolute _ path -> String (18319.0) -
self が表すフレームの絶対パスを返します。
self が表すフレームの絶対パスを返します。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.absolute_path
end
# => /path/to/foo.rb
# /path/to/foo.rb
# /path/to/foo.rb
//}
@see... -
Tracer
. stdout=(fp) (18319.0) -
トレース出力先を変更します。
トレース出力先を変更します。
@param fp 新しいトレース出力先を指定します。
require 'tracer'
fp = File.open('temptrace.txt', "w")
Tracer.stdout = fp
Tracer.on {
puts "Hello"
}
fp.close -
URI
. unescape(str) -> String (18319.0) -
URI 文字列をデコードした文字列を返します。
URI 文字列をデコードした文字列を返します。
このメソッドは obsolete です。
代わりに
CGI.unescape,
URI.decode_www_form,
URI.decode_www_form_component
などの使用を検討してください。
例:
require 'uri'
puts URI.unescape('http://images.google.co.jp/images?q=%A5%E2%A5%CA%A5%EA%A5%B6&ie=EUC-JP')
#=> "http://images.google.co.jp/images?q=モナリザ&ie=... -
WIN32OLE
_ METHOD # return _ type -> String (18319.0) -
メソッドの返り値の型名を取得します。
メソッドの返り値の型名を取得します。
@return 返り値の型名を示す文字列を返します。
@raise WIN32OLERuntimeError メソッドの型情報を取得できなかった場合に通知します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
method = WIN32OLE_METHOD.new(tobj, 'Visible')
puts method.return_type # => BOOL
OLEオートメーションの型名は、対応するWIN32OLE... -
WIN32OLE
_ METHOD # return _ vtype -> Integer (18319.0) -
メソッドの返り値の型を示す数値を取得します。
メソッドの返り値の型を示す数値を取得します。
@return 返り値の型を示す数値(VARENUM)を返します。
@raise WIN32OLERuntimeError メソッドの型情報を取得できなかった場合に通知します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
method = WIN32OLE_METHOD.new(tobj, 'Visible')
puts method.return_vtype # => 11
VARENUMの定義は、Platfo... -
WIN32OLE
_ PARAM # input? -> bool (18319.0) -
パラメータがクライアントからサーバへ与えるものかを判定します。
パラメータがクライアントからサーバへ与えるものかを判定します。
OLEオートメーションのパラメータは、in(クライアントからサーバへ与える。
WIN32OLE_PARAM#input?が真)、out(サーバがクライアントへ与える。
WIN32OLE_PARAM#output?が真)および、inout(クライアントからサーバ
へ与え、サーバがクライアントへ与える)の3種類の方向属性のいずれかを持ち
ます。
input?メソッドはin属性またはinout属性なら真を返します。
@return メソッドの方向属性がinまたはinoutならば真を返します。
tobj = WIN32OLE... -
WIN32OLE
_ TYPE # default _ event _ sources -> [WIN32OLE _ TYPE] (18319.0) -
型が持つソースインターフェイスを取得します。
型が持つソースインターフェイスを取得します。
default_event_sourcesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスがサポートするデフォルトのソースインターフェイス(イ
ベントの通知元となるインターフェイス)を返します。
@return デフォルトのソースインターフェイスをWIN32OLE_TYPEの配列と
して返します。返すのは配列ですが、デフォルトのソースインターフェ
イスは最大でも1インターフェイスです。ソースインターフェイスを持
たない場合は空配列を返します。
tobj = ... -
WIN32OLE
_ TYPE # guid -> String | nil (18319.0) -
この型のGUID(グローバル一意識別子)を取得します。
この型のGUID(グローバル一意識別子)を取得します。
@return GUIDを文字列で返します。GUIDを持たない型の場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
puts tobj.guid # => {00024500-0000-0000-C000-000000000046}
GUIDは、COMのクラス識別子(CLSID)、インターフェイス識別子(IID)など多数の
領域でWindows上のオブジェクトの識別に利用される128ビットの... -
WIN32OLE
_ TYPELIB # guid -> String (18319.0) -
TypeLibのGUIDを取得します。
TypeLibのGUIDを取得します。
@return TypeLibのGUIDを文字列で返します。
@raise WIN32OLERuntimeError TypeLibの属性が読み取れない場合に通知します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
puts tlib.guid # => '{00020813-0000-0000-C000-000000000046}' -
WIN32OLE
_ VARIABLE # value -> object | nil (18319.0) -
変数の値を取得します。
変数の値を取得します。
変数情報によってはenum値のように定数値を持つものがあります。valueメソッ
ドはこのような定数値を返します。
@return この変数が持つ定数値。値を持たない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
puts "#{variable.name}=#{variable.value... -
String
# gsub(pattern) -> Enumerator (18316.0) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
文字列中で pattern にマッチした部分を順番にブロックに渡し、
その実行結果で置き換えた文字列を生成して返します。
ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列
//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
... -
String
# gsub(pattern) {|matched| . . . . } -> String (18316.0) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
文字列中で pattern にマッチした部分を順番にブロックに渡し、
その実行結果で置き換えた文字列を生成して返します。
ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列
//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
... -
String
# gsub(pattern , hash) -> String (18316.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
//} -
String
# sub(pattern) {|matched| . . . . } -> String (18316.0) -
文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果で置き換えた新しい文字列を返します。 ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
文字列中で pattern にマッチした最初の部分をブロックに渡し、
その評価結果で置き換えた新しい文字列を返します。
ブロックなしの sub と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
//emlist[例][ruby]{
p 'abcabc'.sub(/b/) {|s| s.upcase } #=> "aBcabc"
p 'abcabc'.sub(/b... -
String
# sub(pattern , hash) -> String (18316.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".sub(/[bc]/){hash[$&]} #=> "aBCabc"
p "abcabc".sub(/[bc]/, hash) #=> "aBCabc"
//} -
Process
:: Status (18109.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
プロセスの終了ステータスを表すクラスです。
メソッド Process.#wait2 などの返り値として使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child #{$?.pid} dumped core."
end
... -
Encoding
:: UndefinedConversionError (18073.0) -
エンコーディング変換後の文字が存在しない場合に発生する例外。
エンコーディング変換後の文字が存在しない場合に発生する例外。
UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに発生します。
//emlist[例][ruby]{
"\u2603".encode(Encoding::EUC_JP)
#=> Encoding::UndefinedConversionError: U+2603 from UTF-8 to EUC-JP
//}
変換が多段階でなされ、その途中で例外が生じた場合は、
例外オブジェクトが保持するエラー情報はその中間のものになります。
//emlist[例][ruby]{
ec = Encoding::Co... -
Rubyの起動 (18073.0)
-
Rubyの起動 * cmd_option * shebang
Rubyの起動
* cmd_option
* shebang
Rubyインタプリタの起動は以下の書式のコマンドラインにより行います。
ruby [ option ...] [ -- ] [ programfile ] [ argument ...]
ここで、option は後述のcmd_option
のいずれかを指定します。-- は、オプション列の終りを明示するため
に使用できます。programfile は、Ruby スクリプトを記述したファイ
ルです。これを省略したり`-' を指定した場合には標準入力を Ruby ス
クリプトとみなします。
programfile が... -
RDoc
:: Markup (18037.0) -
RDoc 形式のドキュメントを目的の形式に変換するためのクラスです。
RDoc 形式のドキュメントを目的の形式に変換するためのクラスです。
例:
require 'rdoc/markup/to_html'
h = RDoc::Markup::ToHtml.new
puts h.convert(input_string)
独自のフォーマットを行うようにパーサを拡張する事もできます。
例:
require 'rdoc/markup'
require 'rdoc/markup/to_html'
class WikiHtml < RDoc::Markup::ToHtml
# WikiWord のフォントを赤く表示。
... -
Thread
:: Queue # deq(non _ block = false) -> object (18037.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # pop(non _ block = false) -> object (18037.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # shift(non _ block = false) -> object (18037.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (18037.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (18037.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (18037.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
ThreadGroup (18037.0)
-
スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。
スレッドグループを表すクラスです。グループに属する Thread をまとめて
操作することができます。
Thread は必ずいずれかひとつのスレッドグループに属します。
生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。
メインスレッドはデフォルトでは ThreadGroup::Default に属します。
: 例:
生成したすべてのThreadが終了するのを待つ
5.times {
Thread.new { sleep 1; puts "#{Thread.current} finished" }
}
... -
OpenSSL
:: X509 :: Request (18019.0) -
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす クラスです。
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす
クラスです。
X.509 CSR については 2986 などを参照してください。
=== 例
CSR を生成する例。
require 'openssl'
# ファイルから秘密鍵を読み込む
rsa = OpenSSL::PKey::RSA.new(File.read("privkey.pem"))
# 新しい CSR オブジェクトを生成
csr = OpenSSL::X509::Request.new
# DN を生成
name = OpenSSL::X50... -
rdoc
/ markup / to _ ansi (18019.0) -
RDoc 形式のドキュメントを ANSI エスケープシーケンスで色付けするサブライ ブラリです。
RDoc 形式のドキュメントを ANSI エスケープシーケンスで色付けするサブライ
ブラリです。
require 'rdoc/markup/to_ansi'
h = RDoc::Markup::ToAnsi.new
puts h.convert(input_string)
変換した結果は文字列で取得できます。 -
rdoc
/ markup / to _ bs (18019.0) -
RDoc 形式のドキュメントをエスケープシーケンスで太字やアンダーラインの効 果を持たせるように見せるサブライブラリです。
RDoc 形式のドキュメントをエスケープシーケンスで太字やアンダーラインの効
果を持たせるように見せるサブライブラリです。
require 'rdoc/markup/to_bs'
h = RDoc::Markup::ToBs.new
puts h.convert(input_string)
変換した結果は文字列で取得できます。実際に効果を確認するためにはページャ
などで出力を確認します。
テキスト中の以下のマークアップ記法をエスケープシーケンスの \b と組み合
わせる事によって見た目を変更します。
* イタリック体(_word_): word にアンダーラインを付けて... -
rdoc
/ markup / to _ html (18019.0) -
RDoc 形式のドキュメントを HTML に整形するためのサブライブラリです。
RDoc 形式のドキュメントを HTML に整形するためのサブライブラリです。
require 'rdoc/markup/to_html'
h = RDoc::Markup::ToHtml.new
puts h.convert(input_string)
変換した結果は文字列で取得できます。 -
Module
# prepend(*modules) -> self (9409.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
指定したモジュールを self の継承チェインの先頭に「追加する」ことで
self の定数、メソッド、モジュール変数を「上書き」します。
継承チェイン上で、self のモジュール/クラスよりも「手前」に
追加されるため、結果として self で定義されたメソッドは
override されます。
modules で指定したモジュールは後ろから順に処理されるため、
modules の先頭が最も優先されます。
また、継承によってこの「上書き」を処理するため、prependの引数として
渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び... -
JSON
. # pretty _ unparse(object , options = nil) -> String (9355.0) -
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
このメソッドは JSON.#generate よりも人間に読みやすい文字列を返します。
pretty_unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param options JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
ハッシュを使用する場合指定可能なオプションは JSON.#generate を参照してください。
//emlist[... -
Kernel
$ $ stdout -> object (9355.0) -
標準出力です。
標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。
$stdout に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準出力をリダイレクトしたいときには、
以下のように $stdout に代入すれば十分です。
//emlist[例][ruby]{
# 標準出力の出力先を /tmp/... -
Enumerable
# cycle(n=nil) -> Enumerator (9337.0) -
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し ブロックを呼びだします。
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
ブロックを呼びだします。
n に 0 もしくは負の値を渡した場合は何もしません。
繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
は nil を返します。
このメソッドは内部の配列に各要素を保存しておくため、
一度 Enumerable の終端に到達した後に自分自身を変更しても
このメソッドの動作に影響を与えません。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c,... -
Module
# refine(klass) { . . . } -> Module (9337.0) -
引数 klass で指定したクラスまたはモジュールだけに対して、ブロックで指定した機能を提供で きるモジュールを定義します。定義した機能は Module#refine を使用せずに直 接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。 そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
引数 klass で指定したクラスまたはモジュールだけに対して、ブロックで指定した機能を提供で
きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
refinements 機能の詳細については以下を参照してください。
* https://magazine.rubyist.net/articles/0041/0041-200Special-refinement.html
* https://docs... -
RubyVM
:: AbstractSyntaxTree . of(proc) -> RubyVM :: AbstractSyntaxTree :: Node (9337.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
このメソッドはProcやメソッドが定義されたファイルを読み込む必要があるため、
irbのようなファイルを介さない対話的環境では動作しません。
@param proc Procもしくはメソッドオブジェクトを指定します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => (SCOPE@2:38-2:45
# tbl: []
# args: nil
# body:
# (OPCALL@2:... -
RubyVM
:: InstructionSequence . of(body) -> RubyVM :: InstructionSequence (9337.0) -
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param body Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# method
> def ... -
Enumerable
# max _ by -> Enumerator (9319.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerable
# max _ by(n) -> Enumerator (9319.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerator
# with _ object(obj) -> Enumerator (9319.0) -
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
obj には任意のオブジェクトを渡すことができます。
ブロックが渡されなかった場合は、上で説明した繰り返しを実行し、
最後に obj を返す Enumerator を返します。
//emlist[例][ruby]{
# 0,1,2 と呼びだす enumeratorを作る
to_three = Enumerator.new do |y|
3.times do |x|
y << x
end
end
to_three_with_string = to_three.with_object... -
FileUtils
# sh(*cmd) {|result , status| . . . } (9319.0) -
与えられたコマンドを実行します。
与えられたコマンドを実行します。
与えられた引数が複数の場合、シェルを経由しないでコマンドを実行します。
@param cmd 引数の解釈に関しては Kernel.#exec を参照してください。
例:
sh %{ls -ltr}
sh 'ls', 'file with spaces'
# check exit status after command runs
sh %{grep pattern file} do |ok, res|
if ! ok
puts "pattern not found (status = #... -
Gem
:: Requirement # concat(requirements) -> Array (9319.0) -
新しい条件(配列)を自身の条件に破壊的に加えます。
新しい条件(配列)を自身の条件に破壊的に加えます。
@param requirements 条件の配列を指定します。
//emlist[][ruby]{
req = Gem::Requirement.new("< 5.0")
req.concat(["= 1.9"])
puts req # => < 5.0, = 1.9
//} -
Module
# prepended(class _ or _ module) -> () (9319.0) -
self が Module#prepend されたときに対象のクラスまたはモジュールを 引数にしてインタプリタがこのメソッドを呼び出します。
self が Module#prepend されたときに対象のクラスまたはモジュールを
引数にしてインタプリタがこのメソッドを呼び出します。
@param class_or_module Module#prepend を実行したオブジェクト
//emlist[例][ruby]{
module A
def self.prepended(mod)
puts "#{self} prepended to #{mod}"
end
end
module Enumerable
prepend A
end
# => "A prepended to Enumerable"
//}
@... -
Net
:: HTTP # request _ get(path , header = nil) -> Net :: HTTPResponse (9319.0) -
サーバ上の path にあるエンティティを取得します。 Net::HTTPResponse オブジェクトを返します。
サーバ上の path にあるエンティティを取得します。
Net::HTTPResponse オブジェクトを返します。
header が nil
でなければ、リクエストを送るときにその内容を HTTP ヘッダとして
送ります。 header は { 'Accept' = > '*/*', ... } という
形のハッシュでなければいけません。
ブロックとともに呼び出されたときは、
エンティティボディをソケットから読み出す前に、
接続を維持した状態で Net::HTTPResponse
オブジェクトをブロックに渡します。
大きなサイズのボディを一度に読みだすとまずく、
小さなサイズに分けて取... -
Net
:: HTTP # request _ get(path , header = nil) {|response| . . . . } -> Net :: HTTPResponse (9319.0) -
サーバ上の path にあるエンティティを取得します。 Net::HTTPResponse オブジェクトを返します。
サーバ上の path にあるエンティティを取得します。
Net::HTTPResponse オブジェクトを返します。
header が nil
でなければ、リクエストを送るときにその内容を HTTP ヘッダとして
送ります。 header は { 'Accept' = > '*/*', ... } という
形のハッシュでなければいけません。
ブロックとともに呼び出されたときは、
エンティティボディをソケットから読み出す前に、
接続を維持した状態で Net::HTTPResponse
オブジェクトをブロックに渡します。
大きなサイズのボディを一度に読みだすとまずく、
小さなサイズに分けて取... -
Net
:: HTTP # request _ post(path , data , header = nil) -> Net :: HTTPResponse (9319.0) -
サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。 返り値は Net::HTTPResponse のインスタンスです。
サーバ上の path にあるエンティティに対し文字列 data を
POST で送ります。
返り値は Net::HTTPResponse のインスタンスです。
header が nil
でなければ、リクエストを送るときにその内容を HTTP ヘッダとして
送ります。 header は { 'Accept' = > '*/*', ... } という
形のハッシュでなければいけません。
ブロックとともに呼び出されたときは、
エンティティボディをソケットから読み出す前に、
接続を維持した状態で Net::HTTPResponse
オブジェクトをブロックに渡します。
POST する場合にはヘッ... -
Net
:: HTTP # request _ post(path , data , header = nil) {|response| . . . . } -> Net :: HTTPResponse (9319.0) -
サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。 返り値は Net::HTTPResponse のインスタンスです。
サーバ上の path にあるエンティティに対し文字列 data を
POST で送ります。
返り値は Net::HTTPResponse のインスタンスです。
header が nil
でなければ、リクエストを送るときにその内容を HTTP ヘッダとして
送ります。 header は { 'Accept' = > '*/*', ... } という
形のハッシュでなければいけません。
ブロックとともに呼び出されたときは、
エンティティボディをソケットから読み出す前に、
接続を維持した状態で Net::HTTPResponse
オブジェクトをブロックに渡します。
POST する場合にはヘッ... -
RubyVM
:: InstructionSequence . compile _ file(file , options = nil) -> RubyVM :: InstructionSequence (9319.0) -
引数 file で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 file で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
RubyVM::InstructionSequence.compile とは異なり、file、path などの
メタデータは自動的に取得します。
@param file ファイル名を文字列で指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
ジェクトのいずれかで指定します。詳細は
RubyVM::Instr... -
Struct
# each -> Enumerator (9319.0) -
構造体の各メンバに対して繰り返します。
構造体の各メンバに対して繰り返します。
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.each {|x| puts(x) }
# => Joe Smith
# 123 Map...