種類
ライブラリ
- English (4)
- ビルトイン (101)
-
cgi
/ core (2) -
cgi
/ util (5) - csv (13)
- erb (2)
- forwardable (1)
- gdbm (2)
-
irb
/ context (3) -
irb
/ help (1) -
irb
/ output-method (3) - json (2)
- monitor (2)
-
net
/ http (11) -
net
/ pop (9) -
net
/ smtp (2) - nkf (1)
- observer (1)
- open3 (3)
- openssl (11)
- pp (7)
- prettyprint (17)
- profiler (2)
- rbconfig (1)
-
rdoc
/ stats (1) - readline (3)
-
rexml
/ document (1) -
rubygems
/ commands / dependency _ command (1) -
rubygems
/ requirement (1) - shell (1)
-
shell
/ command-processor (1) -
shell
/ filter (1) - socket (7)
- stringio (3)
- syslog (4)
- tempfile (5)
- timeout (2)
- uri (2)
-
webrick
/ httpresponse (5) - zlib (10)
クラス
-
ARGF
. class (6) - Addrinfo (2)
- Array (7)
- CGI (7)
- CSV (11)
-
CSV
:: Table (2) - ERB (2)
- File (3)
-
File
:: Stat (2) - GDBM (2)
-
Gem
:: Commands :: DependencyCommand (1) -
Gem
:: Requirement (1) - IO (28)
-
IRB
:: Context (3) -
IRB
:: OutputMethod (2) -
IRB
:: StdioOutputMethod (1) - Integer (7)
-
JSON
:: Parser (2) - Module (1)
-
Net
:: HTTP (10) -
Net
:: POPMail (9) -
Net
:: SMTP (2) - Object (7)
-
OpenSSL
:: ASN1 :: PrintableString (2) -
OpenSSL
:: BN (1) - PP (3)
- PrettyPrint (16)
-
RDoc
:: Stats (1) - Range (2)
- Shell (1)
-
Shell
:: CommandProcessor (1) -
Shell
:: Filter (1) - Socket (3)
- String (2)
- StringIO (3)
- Tempfile (5)
- Thread (1)
-
URI
:: MailTo (2) -
WEBrick
:: HTTPResponse (5) -
Zlib
:: GzipReader (5) -
Zlib
:: GzipWriter (4)
モジュール
- Enumerable (5)
- IRB (1)
- Kernel (35)
- Open3 (2)
-
OpenSSL
:: ASN1 (3) -
OpenSSL
:: Buffering (3) -
Profiler
_ _ (1) - RbConfig (1)
- Readline (2)
- Syslog (4)
- Timeout (2)
キーワード
-
$ , (1) -
$ 1 (1) -
$ 10 (1) -
$ 11 (1) -
$ 2 (1) -
$ 3 (1) -
$ 4 (1) -
$ 5 (1) -
$ 6 (1) -
$ 7 (1) -
$ 8 (1) -
$ 9 (1) -
$ > (1) -
$ CHILD _ STATUS (1) -
$ DEFAULT _ OUTPUT (1) -
$ ORS (1) -
$ OUTPUT _ RECORD _ SEPARATOR (1) -
$ \ (1) -
$ _ (1) -
$ stdout (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - << (1)
- <=> (1)
- ConditionVariable (1)
- DATA (1)
- Forwardable (1)
- GzipReader (1)
- HTTPRequest (1)
- ISPRINT (1)
- Interrupt (1)
-
MAKEFILE
_ CONFIG (1) - Monitor (1)
- MonitorMixin (1)
- NKF (1)
-
NOPRINTING
_ IVARS (1) - Observable (1)
- Open3 (1)
- PRINTABLESTRING (1)
- PrettyPrint (1)
- PrintableString (3)
-
Profiler
_ _ (1) - Readline (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- Rubyの起動 (1)
- SSLSocket (1)
- SizedQueue (1)
- TCPServer (1)
- TCPSocket (1)
- Transitive (1)
- [] (1)
-
add
_ row (1) - all (3)
- bigdecimal (1)
- body= (1)
- breakable (2)
- chunk (1)
- chunked= (1)
-
close
_ write (1) -
completion
_ proc= (1) - connect (1)
-
connect
_ from (2) -
content
_ length (1) -
content
_ length= (1) - cycle (4)
-
def
_ class (1) -
def
_ module (1) - delete (1)
- downto (2)
- each (4)
-
each
_ char (4) -
each
_ codepoint (2) -
each
_ entry (2) -
error
_ print (1) - escapeHTML (1)
-
escape
_ html (1) - fail (3)
- fdatasync (1)
- fetch (3)
- flush (2)
-
force
_ quotes? (1) - foreach (2)
- format (1)
- generate (1)
- genspace (1)
- get2 (2)
-
get
_ print (2) - group (1)
- header (1)
- indent (1)
-
initialize
_ copy (1) -
inplace
_ mode (1) -
inplace
_ mode= (1) - instance (2)
-
instance
_ method (1) - irb (1)
- length (1)
- loop (2)
- mail (3)
- mask (1)
- mask= (1)
- maxwidth (1)
- nest (1)
-
net
/ http (1) - new (6)
- newline (1)
- open (11)
- open! (1)
- openssl (1)
- output (1)
- p (1)
- pop (3)
- popen (14)
- popen3 (2)
- pos (1)
- post2 (2)
- pp (2)
- pretty (1)
-
pretty
_ print (3) -
pretty
_ print _ cycle (1) -
pretty
_ print _ inspect (1) -
pretty
_ print _ instance _ variables (1) - prettyprint (1)
-
print
_ dependencies (1) -
print
_ profile (1) -
print
_ undef (1) -
print
_ usage (1) - printf (7)
- printn (1)
- puts (2)
- raise (3)
- rake (1)
-
rb
_ ary _ to _ s (1) -
rb
_ parser _ append _ print (1) -
rb
_ parser _ while _ loop (1) - readline (1)
- ready (1)
- reopen (4)
-
request
_ get (2) -
request
_ post (2) -
return
_ format (1) -
return
_ format= (1) -
reverse
_ each (2) - rss (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 5 feature (1) - select (1)
-
sharing
_ detection (1) -
sharing
_ detection= (1) - shell (1)
-
singleline
_ format (1) - size (1)
- size? (1)
- source (1)
- sprintf (1)
- sprintf フォーマット (1)
- stop (1)
- sync= (1)
- sysseek (1)
- system (3)
- tcp (2)
- tell (1)
- text (2)
- timeout (2)
- times (2)
-
to
_ mailtext (1) -
to
_ rfc822text (1) -
to
_ s (2) - tsort (1)
- unescapeElement (1)
-
unescape
_ element (1) - ungetc (1)
- unlink (1)
-
untrace
_ var (1) - upto (2)
- wrap (2)
- オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1)
- クラス/メソッドの定義 (1)
- プログラム・文・式 (1)
- メソッド呼び出し(super・ブロック付き・yield) (1)
- リテラル (1)
- 制御構造 (1)
- 正規表現 (1)
検索結果
先頭5件
-
CGI
. unescape _ element(string , *elements) -> String (37.0) -
特定の要素だけをHTMLエスケープから戻す。
特定の要素だけをHTMLエスケープから戻す。
@param string 文字列を指定します。
@param elements HTML タグの名前を一つ以上指定します。文字列の配列で指定することも出来ます。
例:
require "cgi"
print CGI.unescapeElement('<BR><A HREF="url"></A>', "A", "IMG")
# => "<BR><A HREF="url"></A>"
print CGI.unescapeEl... -
CSV
# <<(row) -> self (37.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... -
CSV
# add _ row(row) -> self (37.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... -
CSV
# force _ quotes? -> bool (37.0) -
出力される全てのフィールドがクオートされる場合は、真を返します。
出力される全てのフィールドがクオートされる場合は、真を返します。
//emlist[例][ruby]{
require "csv"
rows = [["header1", "header2"], ["row1_1,", "row1_2"]]
result = CSV.generate(force_quotes: false) do |csv|
rows.each { |row| csv << row }
csv.force_quotes? # => false
end
print result
# => header1,header2
# "row1_1,",row1_2... -
CSV
# puts(row) -> self (37.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... -
Enumerable
# chunk {|elt| . . . } -> Enumerator (37.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
要素を前から順にブロックで評価し、その結果によって
要素をチャンクに分けた(グループ化した)要素を持つ
Enumerator を返します。
ブロックの評価値が同じ値が続くものを一つのチャンクとして
取り扱います。すなわち、ブロックの評価値が一つ前と
異なる所でチャンクが区切られます。
返り値の Enumerator は各チャンクのブロック評価値と
各チャンクの要素を持つ配列のペアを各要素とします。
そのため、eachだと以下のようになります。
//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something ... -
Enumerable
# cycle(n=nil) -> Enumerator (37.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,... -
Enumerable
# cycle(n=nil) {|obj| . . . } -> object | nil (37.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,... -
File
:: Stat # <=>(o) -> Integer | nil (37.0) -
ファイルの最終更新時刻を比較します。self が other よりも 新しければ正の数を、等しければ 0 を古ければ負の数を返します。 比較できない場合は nil を返します。
ファイルの最終更新時刻を比較します。self が other よりも
新しければ正の数を、等しければ 0 を古ければ負の数を返します。
比較できない場合は nil を返します。
@param o File::Stat のインスタンスを指定します。
//emlist[][ruby]{
require 'tempfile' # for Tempfile
fp1 = Tempfile.open("first")
fp1.print "古い方\n"
sleep(1)
fp2 = Tempfile.open("second")
fp2.print "新しい方\n"
p File::Stat.n... -
IO
. foreach(path , rs = $ / , chomp: false) -> Enumerator (37.0) -
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。
ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
Enumerator オブジェクトを生成して返します。
テキスト読み込みメソッドとして動作します。
path が空ファイルの場合、何もせずに nil を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
@param path ファイル名を表す文字列か "|コマンド名" を指定します。
@pa... -
IO
. foreach(path , rs = $ / , chomp: false) {|line| . . . } -> nil (37.0) -
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。
ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
Enumerator オブジェクトを生成して返します。
テキスト読み込みメソッドとして動作します。
path が空ファイルの場合、何もせずに nil を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
@param path ファイル名を表す文字列か "|コマンド名" を指定します。
@pa... -
Integer
# [](nth) -> Integer (37.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@return 1 か 0
//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 00010111011010000011100001111001010011110... -
Kernel
$ $ 1 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 10 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 11 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 2 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 3 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 4 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 5 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 6 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 7 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 8 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ 9 -> String | nil (37.0) -
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。
該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)
番号 n はいくらでも大きな正整数を利用できます。
Regexp.last_match(1),
Regexp.last_match(2), ... と同じ。
これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)... -
Kernel
$ $ CHILD _ STATUS -> Process :: Status | nil (37.0) -
$? の別名
$? の別名
require "English"
out = `wget https://www.ruby-lang.org/en/about/license.txt -O - 2>/dev/null`
if $CHILD_STATUS.to_i == 0
print "wget success\n"
out.split(/\n/).each { |line|
printf "%s\n", line
}
else
print "wget failed\n"
end -
Kernel
. # p(*arg) -> object | Array (37.0) -
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。
//emlist[例][ruby]{
print arg[0].inspect, "\n", arg[1].inspect, "\n" #, ...
//}
整形に用いられるObject#inspectは普通に文字列に変換すると
区別がつかなくなるようなクラス間の差異も表現できるように工夫されています。
p に引数を与えずに呼び出した場合は特に何もしません。
@param ... -
Open3 (37.0)
-
プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。
プログラムを実行し、そのプロセスの標準入力・標準出力・
標準エラー出力にパイプをつなぎます。
=== 使用例
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
... -
OpenSSL
:: SSL :: SSLSocket (37.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
=== 例
SSL/TLS サーバに接続して write します。
require 'socket'
require 'openssl'
include OpenSSL
ctx = SSL::SSLContext.new
ctx.set_params(verify_mode: OpenSSL::SSL::VERIFY_PEER, verify_hostname: true)
soc = TCPSocket.new('www.example.com', 443)
ssl ... -
Range
# each -> Enumerator (37.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Floa... -
Range
# each {|item| . . . } -> self (37.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Floa... -
Readline (37.0)
-
GNU Readline によるコマンドライン入力インタフェースを提供するモジュールです。
GNU Readline によるコマンドライン入力インタフェースを提供するモジュールです。
GNU Readline 互換ライブラリのひとつである Edit Line(libedit) もサポートしています。
* https://directory.fsf.org/wiki/Readline
* https://thrysoee.dk/editline/
Readline.readline を使用してユーザからの入力を取得できます。
このとき、 GNU Readline のように入力の補完や
Emacs のようなキー操作などができます。
例: プロンプト"> "を表示して、ユー... -
Rubyの起動 (37.0)
-
Rubyの起動 * cmd_option * shebang
Rubyの起動
* cmd_option
* shebang
Rubyインタプリタの起動は以下の書式のコマンドラインにより行います。
ruby [ option ...] [ -- ] [ programfile ] [ argument ...]
ここで、option は後述のcmd_option
のいずれかを指定します。-- は、オプション列の終りを明示するため
に使用できます。programfile は、Ruby スクリプトを記述したファイ
ルです。これを省略したり`-' を指定した場合には標準入力を Ruby ス
クリプトとみなします。
programfile が... -
TCPSocket (37.0)
-
インターネットドメインのストリーム型ソケットのクラスです。
インターネットドメインのストリーム型ソケットのクラスです。
通常のIO クラスのサブクラスと同
様の入出力ができます。このクラスによってソケットを用いたクラ
イアントを簡単に記述できるようになります。
ユーザの入力をそのままサーバに転送するプログラムは以下の
ようになります。
require "socket"
port = if ARGV.size > 0 then ARGV.shift else 4444 end
print port, "\n"
s = TCPSocket.open("localhost", port)
while gets
... -
Tempfile
# open -> self (37.0) -
クローズしたテンポラリファイルを再オープンします。 "r+" でオープンされるので、クローズ前の内容を再度読む ことができます。
クローズしたテンポラリファイルを再オープンします。
"r+" でオープンされるので、クローズ前の内容を再度読む
ことができます。
require "tempfile"
tf = Tempfile.new("foo")
tf.print("foobar,hoge\n")
tf.print("bar,ugo\n")
tf.close
tf.open
p tf.gets # => "foobar,hoge\n" -
Thread
:: ConditionVariable (37.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (37.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 (37.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
Zlib
:: GzipReader (37.0) -
gzip 形式の圧縮ファイルを読み込むラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。
gzip 形式の圧縮ファイルを読み込むラッパークラスです。
IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを
持つオブジェクト) と関連付けて使用します。
require 'zlib'
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.puts 'hoge'
}
=end
Zlib::GzipReader.open('hoge.gz') {|gz|
print gz.read
}
f = File.op... -
Zlib
:: GzipReader . wrap(io) -> Zlib :: GzipReader (37.0) -
io と関連付けられた GzipReader オブジェクトを作成します。
io と関連付けられた GzipReader オブジェクトを作成します。
ブロックが与えられた場合は、それを引数としてブロックを実行します。
ブロックの実行が終了すると、GzipReader オブジェクトは自動的に
クローズされます。関連付けられている IO オブジェクトまで
クローズしたくない時は、ブロック中で Zlib::GzipFile#finish
メソッドを呼び出して下さい。
@param io IO オブジェクトを指定します。
require 'zlib'
=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.o... -
Zlib
:: GzipReader . wrap(io) {|gz| . . . } -> object (37.0) -
io と関連付けられた GzipReader オブジェクトを作成します。
io と関連付けられた GzipReader オブジェクトを作成します。
ブロックが与えられた場合は、それを引数としてブロックを実行します。
ブロックの実行が終了すると、GzipReader オブジェクトは自動的に
クローズされます。関連付けられている IO オブジェクトまで
クローズしたくない時は、ブロック中で Zlib::GzipFile#finish
メソッドを呼び出して下さい。
@param io IO オブジェクトを指定します。
require 'zlib'
=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.o... -
ruby 1
. 6 feature (37.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (19.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ARGF
. class # each _ codepoint -> Enumerator (19.0) -
self の各コードポイントに対して繰り返しブロックを呼びだします。
self の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
例:
# $ echo "line1\n" > test1.txt
# $ echo "line2\n" > test2.txt
# $ ruby test.rb test1.txt test2.txt
# test.rb
ARGF.each_codepoint # => #<Enumerator: ARGF:each_codepoint>
... -
ARGF
. class # each _ codepoint { |c| . . . } -> self (19.0) -
self の各コードポイントに対して繰り返しブロックを呼びだします。
self の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
例:
# $ echo "line1\n" > test1.txt
# $ echo "line2\n" > test2.txt
# $ ruby test.rb test1.txt test2.txt
# test.rb
ARGF.each_codepoint # => #<Enumerator: ARGF:each_codepoint>
... -
Addrinfo
# connect _ from(host , port) -> Socket (19.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
引数で指定されたアドレスから
自身のアドレスへソケットを接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定したアドレスはソケット接続のローカル側のアドレスになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).co... -
Addrinfo
# connect _ from(host , port) {|sock| . . . } -> object (19.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
引数で指定されたアドレスから
自身のアドレスへソケットを接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定したアドレスはソケット接続のローカル側のアドレスになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).co... -
Array
# cycle(n=nil) -> Enumerator (19.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は Enumerator を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| p... -
Array
# cycle(n=nil) {|obj| block } -> nil (19.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は Enumerator を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| p... -
Array
# fetch(nth) -> object (19.0) -
nth 番目の要素を返します。
nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロックを評価した結果を返します。
@param nth 取得したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param ifnone 要素が存在しなかった場合に返すべき値を指定します。
@ra... -
Array
# fetch(nth) {|nth| . . . } -> object (19.0) -
nth 番目の要素を返します。
nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロックを評価した結果を返します。
@param nth 取得したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param ifnone 要素が存在しなかった場合に返すべき値を指定します。
@ra... -
Array
# fetch(nth , ifnone) -> object (19.0) -
nth 番目の要素を返します。
nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロックを評価した結果を返します。
@param nth 取得したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param ifnone 要素が存在しなかった場合に返すべき値を指定します。
@ra... -
Array
# reverse _ each -> Enumerator (19.0) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
//}
@see Array#each -
Array
# reverse _ each {|item| . . . } -> self (19.0) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
//}
@see Array#each -
CGI
. escapeHTML(string) -> String (19.0) -
与えられた文字列中の '、&、"、<、> を実体参照に置換した文字列を新しく作成し返します。
与えられた文字列中の '、&、"、<、> を実体参照に置換した文字列を新しく作成し返します。
@param string 文字列を指定します。
require "cgi"
p CGI.escapeHTML("3 > 1") #=> "3 > 1"
print('<script type="text/javascript">alert("警告")</script>')
p CGI.escapeHTML('<script type="text/javascript">alert("警告")</script>')
... -
CGI
. escape _ html(string) -> String (19.0) -
与えられた文字列中の '、&、"、<、> を実体参照に置換した文字列を新しく作成し返します。
与えられた文字列中の '、&、"、<、> を実体参照に置換した文字列を新しく作成し返します。
@param string 文字列を指定します。
require "cgi"
p CGI.escapeHTML("3 > 1") #=> "3 > 1"
print('<script type="text/javascript">alert("警告")</script>')
p CGI.escapeHTML('<script type="text/javascript">alert("警告")</script>')
... -
CSV
. generate(str = "" , options = Hash . new) {|csv| . . . } -> String (19.0) -
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。 ブロック内で CSV オブジェクトに行を追加することができます。 ブロックを評価した結果は文字列を返します。
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。
ブロック内で CSV オブジェクトに行を追加することができます。
ブロックを評価した結果は文字列を返します。
このメソッドに与えられた文字列は変更されるので、新しい文字列オブジェクトが必要な
場合は Object#dup で複製してください。
@param str 文字列を指定します。デフォルトは空文字列です。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると出力のエンコーディン... -
CSV
. instance(data = $ stdout , options = Hash . new) -> CSV (19.0) -
このメソッドは CSV.new のように CSV のインスタンスを返します。 しかし、返される値は Object#object_id と与えられたオプションを キーとしてキャッシュされます。
このメソッドは CSV.new のように CSV のインスタンスを返します。
しかし、返される値は Object#object_id と与えられたオプションを
キーとしてキャッシュされます。
ブロックが与えられた場合、生成されたインスタンスをブロックに渡して評価した
結果を返します。
@param data String か IO のインスタンスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require "csv"
options = { headers: true }
text... -
CSV
. instance(data = $ stdout , options = Hash . new) {|csv| . . . } -> object (19.0) -
このメソッドは CSV.new のように CSV のインスタンスを返します。 しかし、返される値は Object#object_id と与えられたオプションを キーとしてキャッシュされます。
このメソッドは CSV.new のように CSV のインスタンスを返します。
しかし、返される値は Object#object_id と与えられたオプションを
キーとしてキャッシュされます。
ブロックが与えられた場合、生成されたインスタンスをブロックに渡して評価した
結果を返します。
@param data String か IO のインスタンスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require "csv"
options = { headers: true }
text... -
CSV
. open(filename , mode = "rb" , options = Hash . new) -> CSV (19.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , mode = "rb" , options = Hash . new) {|csv| . . . } -> nil (19.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , options = Hash . new) -> CSV (19.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , options = Hash . new) {|csv| . . . } -> nil (19.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
:: Table # each {|column _ name , values| . . . } -> self (19.0) -
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し ます。
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row3 = CSV::Row.new(["header1", "header2"], ["row3... -
CSV
:: Table # each {|row| . . . } -> self (19.0) -
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し ます。
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row3 = CSV::Row.new(["header1", "header2"], ["row3... -
ERB
# def _ class(superklass=Object , methodname=& # 39;erb& # 39;) -> Class (19.0) -
変換した Ruby スクリプトをメソッドとして定義した無名のクラスを返します。
変換した Ruby スクリプトをメソッドとして定義した無名のクラスを返します。
@param superklass 無名クラスのスーパークラス
@param methodname メソッド名
//emlist[例][ruby]{
require 'erb'
class MyClass_
def initialize(arg1, arg2)
@arg1 = arg1; @arg2 = arg2
end
end
filename = 'example.rhtml' # @arg1 と @arg2 が使われている example.rhtml
erb = ERB.n... -
ERB
# def _ module(methodname=& # 39;erb& # 39;) -> Module (19.0) -
変換した Ruby スクリプトをメソッドとして定義した無名のモジュールを返します。
変換した Ruby スクリプトをメソッドとして定義した無名のモジュールを返します。
@param methodname メソッド名
//emlist[例][ruby]{
require 'erb'
filename = 'example.rhtml'
erb = ERB.new("test1<%= arg1 %>\ntest2<%= arg2 %>\n")
erb.filename = filename
MyModule = erb.def_module('render(arg1, arg2)')
class MyClass
include MyModule
end
print My... -
Enumerable
# each _ entry -> Enumerator (19.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
Enumerable
# each _ entry {|obj| block} -> self (19.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
File
. new(path , mode = "r" , perm = 0666) -> File (19.0) -
path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。
path で指定されるファイルをオープンし、File オブジェクトを生成して
返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
File オブジェクトを生成して返します。IO.open と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数として
ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
クローズされます。ブロックの実行結果を返します。
@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
@param mode モードを文字列か定数の論理... -
File
. open(path , mode = "r" , perm = 0666) -> File (19.0) -
path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。
path で指定されるファイルをオープンし、File オブジェクトを生成して
返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
File オブジェクトを生成して返します。IO.open と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数として
ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
クローズされます。ブロックの実行結果を返します。
@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
@param mode モードを文字列か定数の論理... -
File
. open(path , mode = "r" , perm = 0666) {|file| . . . } -> object (19.0) -
path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。
path で指定されるファイルをオープンし、File オブジェクトを生成して
返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
File オブジェクトを生成して返します。IO.open と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数として
ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
クローズされます。ブロックの実行結果を返します。
@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
@param mode モードを文字列か定数の論理... -
File
:: Stat # size? -> Integer | nil (19.0) -
サイズが0の時にはnil、それ以外の場合はファイルサイズを返します。
サイズが0の時にはnil、それ以外の場合はファイルサイズを返します。
//emlist[][ruby]{
require 'tempfile'
fp = Tempfile.new("temp")
p fp.size #=> 0
p File::Stat.new(fp.path).size? #=> nil
fp.print "not 0 "
fp.close
p FileTest.exist?(fp.path) #=> true
p File::Stat.new(fp.path).size? #=> 6
//} -
Forwardable (19.0)
-
クラスに対し、メソッドの委譲機能を定義するモジュールです。
クラスに対し、メソッドの委譲機能を定義するモジュールです。
=== 使い方
クラスに対して Object#extend して使います。Module#include でないところに注意して下さい。
//emlist[例][ruby]{
require 'forwardable'
class Foo
extend Forwardable
def_delegators("@out", "printf", "print")
def_delegators(:@in, :gets)
def_delegator(:@contents, :[], "content_at")
end
... -
GDBM
. open(dbname , mode = 0666 , flags = 0) -> GDBM (19.0) -
dbname で指定したデータベースをモードを mode に設定してオープンします。
dbname で指定したデータベースをモードを mode に設定してオープンします。
ブロックを指定した場合、オープンした GDBM オブジェクトを
引数にブロックを実行します。実行後 GDBM オブジェクトをクローズ
し、open メソッドはブロックの結果を返します。
@param dbname データベースの名前を指定します。
@param mode 省略値は 0666 です。mode として nil を指定するとデータベースが
存在しない時には新たなデータベースを作らず nil を返します。
@param flags flags には、GDBM::FAS... -
GDBM
. open(dbname , mode = 0666 , flags = 0) {|db| . . . } -> object (19.0) -
dbname で指定したデータベースをモードを mode に設定してオープンします。
dbname で指定したデータベースをモードを mode に設定してオープンします。
ブロックを指定した場合、オープンした GDBM オブジェクトを
引数にブロックを実行します。実行後 GDBM オブジェクトをクローズ
し、open メソッドはブロックの結果を返します。
@param dbname データベースの名前を指定します。
@param mode 省略値は 0666 です。mode として nil を指定するとデータベースが
存在しない時には新たなデータベースを作らず nil を返します。
@param flags flags には、GDBM::FAS... -
IO
# close _ write -> nil (19.0) -
書き込み用の IO を close します。
書き込み用の IO を close します。
既に close されていた場合には単に無視されます。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX close に失敗した場合に発生します。
//emlist[例][ruby]{
f = IO.popen("/bin/sh","r+") do |f|
f.close_write
# f.print "nowhere" # => IOError: not opened for writing
end
//}
@see IO#close, IO#clos... -
IO
# each _ char -> Enumerator (19.0) -
self に含まれる文字を一文字ずつブロックに渡して評価します。
self に含まれる文字を一文字ずつブロックに渡して評価します。
self は読み込み用にオープンされていなければなりません。
ブロックを省略した場合は各文字について繰り返す Enumerator を返します。
@raise IOError self が読み込み用にオープンされていない場合に発生します。
f = File.new("testfile")
f.each_char {|c| print c, ' ' } #=> #<File:testfile> -
IO
# each _ char {|c| . . . } -> self (19.0) -
self に含まれる文字を一文字ずつブロックに渡して評価します。
self に含まれる文字を一文字ずつブロックに渡して評価します。
self は読み込み用にオープンされていなければなりません。
ブロックを省略した場合は各文字について繰り返す Enumerator を返します。
@raise IOError self が読み込み用にオープンされていない場合に発生します。
f = File.new("testfile")
f.each_char {|c| print c, ' ' } #=> #<File:testfile> -
IO
# fdatasync -> 0 (19.0) -
IO のすべてのバッファされているデータを直ちにディスクに書き込みます。
IO のすべてのバッファされているデータを直ちにディスクに書き込みます。
fdatasync(2) をサポートしていない OS 上では代わりに
IO#fsync を呼びだします。
IO#fsync との違いは fdatasync(2) を参照してください。
@raise NotImplementedError fdatasync(2) も fsync(2) も
サポートされていない OS で発生します。
//emlist[例][ruby]{
require "tempfile"
Tempfile.open("testtmpfile") do |f|
f.print... -
IO
# flush -> self (19.0) -
IO ポートの内部バッファをフラッシュします。
IO ポートの内部バッファをフラッシュします。
このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。
即座にメタデータも更新したいときは IO#fsync を使います。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX fflush(3) が失敗した場合に発生します。
//emlist[例][ruby]{
require "tempfile"
Tempfile.open("testtmpfile") do |f|
f.print "test"
File.r... -
IO
# reopen(path) -> self (19.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO#pos, IO#lineno などはリセットされます。
@param path パスを表す文字列を指定します。
@param mode パスを開く際のモードを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\n")
f1 = File.new("testfile"... -
IO
# reopen(path , mode) -> self (19.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO#pos, IO#lineno などはリセットされます。
@param path パスを表す文字列を指定します。
@param mode パスを開く際のモードを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\n")
f1 = File.new("testfile"... -
IO
# sysseek(offset , whence = IO :: SEEK _ SET) -> Integer (19.0) -
lseek(2) と同じです。IO#seek では、 IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
lseek(2) と同じです。IO#seek では、
IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。
位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
書き込み用にバッファリングされた IO に対して実行すると警告が出ます。
File.open("/dev/zero") {|f|
buf = f.read(3)
f.sysseek(0)
}
# => -:3:in `sysseek': sysseek for buffered IO (IOErro... -
IO
. popen("-" , mode = "r" , opt={}) -> IO (19.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. popen("-" , mode = "r" , opt={}) {|io| . . . } -> object (19.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. popen(env , "-" , mode = "r" , opt={}) -> IO (19.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. popen(env , "-" , mode = "r" , opt={}) {|io| . . . } -> object (19.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (19.0) -
select(2) を実行します。
select(2) を実行します。
与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。
@param reads 入力待ちする IO オブジェクトの配列を渡します。
@param writes 出力待ちする IO オブジェクトの配列を渡します。
@param excepts 例外待ちする IO オブジェクトの配列を渡します。
@param timeout タイムアウトまでの時間を表す数値または nil を指定します。数値で指定したときの単位は秒です。nil を... -
IRB
:: Context # return _ format -> String (19.0) -
irb のプロンプトでの評価結果を表示する際のフォーマットを文字列で返します。
irb のプロンプトでの評価結果を表示する際のフォーマットを文字列で返します。
@see IRB::Context#return_format=, print_format -
IRB
:: Context # return _ format=(val) (19.0) -
irb のプロンプトでの評価結果を表示する際のフォーマットに val を設定します。
irb のプロンプトでの評価結果を表示する際のフォーマットに val を設定します。
@see IRB::Context#return_format, print_format
IRB::Context#prompt_mode の変更に影響を受ける事に注意してください。 -
Integer
# downto(min) -> Enumerator (19.0) -
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。
self < min であれば何もしません。
@param min 数値
@return self を返します。
//emlist[][ruby]{
5.downto(1) {|i| print i, " " } # => 5 4 3 2 1
//}
@see Integer#upto, Numeric#step, Integer#times -
Integer
# downto(min) {|n| . . . } -> self (19.0) -
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。
self < min であれば何もしません。
@param min 数値
@return self を返します。
//emlist[][ruby]{
5.downto(1) {|i| print i, " " } # => 5 4 3 2 1
//}
@see Integer#upto, Numeric#step, Integer#times -
Integer
# times -> Enumerator (19.0) -
self 回だけ繰り返します。 self が正の整数でない場合は何もしません。
self 回だけ繰り返します。
self が正の整数でない場合は何もしません。
またブロックパラメータには 0 から self - 1 までの数値が渡されます。
//emlist[][ruby]{
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" } # 何も表示されない。
5.times {|n| print n } # 01234 と表示される。
//}
@see Integer#upto, Integer#downto,... -
Integer
# times {|n| . . . } -> self (19.0) -
self 回だけ繰り返します。 self が正の整数でない場合は何もしません。
self 回だけ繰り返します。
self が正の整数でない場合は何もしません。
またブロックパラメータには 0 から self - 1 までの数値が渡されます。
//emlist[][ruby]{
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" } # 何も表示されない。
5.times {|n| print n } # 01234 と表示される。
//}
@see Integer#upto, Integer#downto,... -
Integer
# upto(max) -> Enumerator (19.0) -
self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。
self から max まで 1 ずつ増やしながら繰り返します。
self > max であれば何もしません。
@param max 数値
@return self を返します。
//emlist[][ruby]{
5.upto(10) {|i| print i, " " } # => 5 6 7 8 9 10
//}
@see Integer#downto, Numeric#step, Integer#times -
Integer
# upto(max) {|n| . . . } -> Integer (19.0) -
self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。
self から max まで 1 ずつ増やしながら繰り返します。
self > max であれば何もしません。
@param max 数値
@return self を返します。
//emlist[][ruby]{
5.upto(10) {|i| print i, " " } # => 5 6 7 8 9 10
//}
@see Integer#downto, Numeric#step, Integer#times -
JSON
:: Parser # source -> String (19.0) -
現在のソースのコピーを返します。
現在のソースのコピーを返します。
//emlist[例][ruby]{
require 'json'
parser = JSON::Parser.new(DATA.read)
print parser.source
# => {
# => "Tanaka": {
# => "name":"tanaka",
# => "age":20
# => },
# => "Suzuki": {
# => "name":"suzuki",
# => "age":25
# => }
# => }
__END__
{
"Tanaka": {
... -
JSON
:: Parser . new(source , options => {}) -> JSON :: Parser (19.0) -
パーサを初期化します。
パーサを初期化します。
第二引数のハッシュには以下のキーを指定することができます。
: :max_nesting
データ構造のネストの深さの最大値を指定します。デフォルトは 19 です。
チェックを無効にするにはゼロまたは偽を指定してください。
: :allow_nan
真を指定すると 4627 を無視して NaN, Infinity, -Infinity をパースエラーにしません。
デフォルトは偽です。
: :create_additions
偽を指定するとマッチするクラスや ID があっても付加情報を生成しません。デフォルトは真です。
: :object_clas... -
Kernel
$ $ > -> object (19.0) -
標準出力です。
標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。
$stdout に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準出力をリダイレクトしたいときには、
以下のように $stdout に代入すれば十分です。
//emlist[例][ruby]{
# 標準出力の出力先を /tmp/... -
Kernel
$ $ DEFAULT _ OUTPUT -> IO (19.0) -
$> の別名
$> の別名
require "English"
dout = $DEFAULT_OUTPUT.dup
$DEFAULT_OUTPUT.reopen("out.txt", "w")
print "foo"
$DEFAULT_OUTPUT.close
$DEFAULT_OUTPUT = dout
p "bar" # => bar
p File.read("out.txt") #=> foo -
Kernel
$ $ stdout -> object (19.0) -
標準出力です。
標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。
$stdout に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準出力をリダイレクトしたいときには、
以下のように $stdout に代入すれば十分です。
//emlist[例][ruby]{
# 標準出力の出力先を /tmp/...