種類
- 特異メソッド (50)
- インスタンスメソッド (29)
- クラス (6)
- 文書 (4)
- ライブラリ (4)
ライブラリ
クラス
- CGI (2)
- CSV (4)
- Dir (7)
- File (4)
-
File
:: Stat (1) - IO (37)
- Logger (1)
-
Net
:: FTP (2) -
Rinda
:: TupleSpace (1) - Socket (4)
- Tempfile (4)
- ThreadGroup (2)
- WIN32OLE (3)
-
Zlib
:: Deflate (2) -
Zlib
:: GzipReader (1) -
Zlib
:: GzipWriter (3) -
Zlib
:: Inflate (1)
キーワード
- GzipReader (1)
- GzipWriter (1)
-
NEWS for Ruby 2
. 0 . 0 (1) - SSLSocket (1)
- StringIO (1)
- Telnet (1)
- WIN32OLE (1)
-
_ getproperty (1) -
_ setproperty (1) - chmod (1)
- closed? (1)
- deflate (1)
- enclose (1)
- enclosed? (1)
- eof (1)
- eof? (1)
- flush (1)
-
for
_ fd (1) - header (1)
- inflate (1)
- isatty (1)
- length (1)
- logger (1)
-
net
/ ftp (1) -
net
/ smtp (1) - notify (1)
-
ole
_ free (1) - open (17)
- out (1)
- path (1)
- pipe (8)
- popen (14)
- reopen (3)
- rewind (2)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 3 feature (1) - seek (1)
- shell (1)
- size (1)
- size? (1)
- sync= (1)
-
tcp
_ server _ loop (2) - tty? (1)
- unix (2)
- 正規表現 (1)
検索結果
先頭5件
-
NEWS for Ruby 2
. 0 . 0 (78181.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
ruby 1
. 8 . 3 feature (70171.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
ruby 1
. 6 feature (69901.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 がなくなっ
ていま... -
Dir
. new(path) -> Dir (54415.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. new(path , encoding: Encoding . find("filesystem")) -> Dir (54415.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Zlib
:: GzipWriter . new(io , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: GzipWriter (54388.0) -
io と関連付けられた GzipWriter オブジェクトを作成します。 level, strategy は Zlib::Deflate.new と同じです。 GzipWriter オブジェクトは io に gzip 形式のデータを 逐次ライトします。io には少なくとも、IO#write と 同じ動作をする write メソッドが定義されている必要があります。
io と関連付けられた GzipWriter オブジェクトを作成します。
level, strategy は Zlib::Deflate.new と同じです。
GzipWriter オブジェクトは io に gzip 形式のデータを
逐次ライトします。io には少なくとも、IO#write と
同じ動作をする write メソッドが定義されている必要があります。
@param io IOオブジェクト、もしくは少なくとも、
IO#write と 同じ動作をする write メソッドが定義されている必要があります。
@param level 0-9の範囲の整数を指定し... -
Dir
# close -> nil (54376.0) -
ディレクトリストリームをクローズします。 以降のディレクトリに対する操作は例外 IOError を発生させます。 クローズに成功すれば nil を返します。
ディレクトリストリームをクローズします。
以降のディレクトリに対する操作は例外 IOError を発生させます。
クローズに成功すれば nil を返します。
//emlist[例][ruby]{
d = Dir.new(".")
d.close # => nil
//}
@raise IOError close に失敗した場合に発生します。また既に自身が close している場合に発生します。 -
File
. new(path , mode = "r" , perm = 0666) -> File (54376.0) -
path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。
path で指定されるファイルをオープンし、File オブジェクトを生成して
返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
File オブジェクトを生成して返します。IO.open と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数として
ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
クローズされます。ブロックの実行結果を返します。
@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
@param mode モードを文字列か定数の論理... -
Logger
# close -> nil (54340.0) -
ログ出力に使用していた IO オブジェクトを閉じます。
ログ出力に使用していた IO オブジェクトを閉じます。
//emlist[例][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.info("test") # => I, [2019-04-16T00:40:11.837898 #2795] INFO -- : test
logger.close
logger.info("test") # => log writing failed. closed stream
//} -
IO
. new(fd , mode = "r" , **opts) -> IO (45430.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
# closed? -> bool (18427.0) -
self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。 そうでない場合は false を返します。
self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。
そうでない場合は false を返します。
//emlist[例][ruby]{
IO.write("testfile", "test")
f = File.new("testfile")
f.close # => nil
f.closed? # => true
f = IO.popen("/bin/sh","r+")
f.close_write # => nil
f.closed? # => false
f.close_read # =>... -
ThreadGroup
# enclose -> self (18409.0) -
自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。
enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
ただし、Thread.new によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に
属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。
追加の例:
thg = ThreadGroup.new.enclose
thg.add Thread.new {}
=> -:2:in `add': can't ... -
ThreadGroup
# enclosed? -> bool (18337.0) -
自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。
自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。
freeze された ThreadGroup には Thread の追加/削除ができませんが、enclosed? は false を返します。
thg = ThreadGroup.new
p thg.enclosed? # => false
thg.enclose
p thg.enclosed? # => true
thg = ThreadGroup.new
p thg.e... -
Dir
. open(path) -> Dir (9115.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. open(path) {|dir| . . . } -> object (9115.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. open(path , encoding: Encoding . find("filesystem")) -> Dir (9115.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. open(path , encoding: Encoding . find("filesystem")) {|dir| . . . } -> object (9115.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
File
. open(path , mode = "r" , perm = 0666) -> File (9076.0) -
path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。
path で指定されるファイルをオープンし、File オブジェクトを生成して
返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
File オブジェクトを生成して返します。IO.open と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数として
ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
クローズされます。ブロックの実行結果を返します。
@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
@param mode モードを文字列か定数の論理... -
File
. open(path , mode = "r" , perm = 0666) {|file| . . . } -> object (9076.0) -
path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。
path で指定されるファイルをオープンし、File オブジェクトを生成して
返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
File オブジェクトを生成して返します。IO.open と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数として
ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
クローズされます。ブロックの実行結果を返します。
@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
@param mode モードを文字列か定数の論理... -
CSV
. open(filename , mode = "rb" , options = Hash . new) -> CSV (403.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 (403.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , options = Hash . new) -> CSV (403.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , options = Hash . new) {|csv| . . . } -> nil (403.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
IO
# sync=(newstate) (319.0) -
自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。
自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。
@param newstate 自身を同期モードに設定するかを boolean で指定します。
@raise IOError 既に close されていた場合に発生します。
@see IO#sync -
logger (217.0)
-
ログを記録するためのライブラリです。
ログを記録するためのライブラリです。
=== 説明
6段階のログレベルに分けてログを記録します。
: UNKNOWN
常に記録されるべき不明なエラー
: FATAL
プログラムをクラッシュさせるような制御不可能なエラー
: ERROR
制御可能なエラー
: WARN
警告
: INFO
一般的な情報
: DEBUG
低レベルの情報
全てのメッセージは必ずログレベルを持ちます。また Logger オブジェクトも同じように
ログレベルを持ちます。メッセージのログレベルが Logger オブジェクトのログレベルよりも
低い場合メッセージは記録されません。
普段は I... -
Net
:: Telnet (163.0) -
このクラスは telnet のクライアント機能を提供します。
このクラスは telnet のクライアント機能を提供します。
telnet でリモートホストにログインしてシェル経由で
コマンドを実行することを考えてみましょう。
これを Net::Telnet で実現するためには、
まず Net::Telnet.new に "Host" オプションを
与えてオブジェクトを作り、 Net::Telnet#login で
ユーザ名とパスワードを送ってログインし、
Net::Telnet#cmd でコマンドを
実行、最後に IO#close で接続を閉じます。
Net::Telnet#waitfor, Net::Telnet#print,
Net::Telne... -
正規表現 (145.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
正規表現
* metachar
* expansion
* char
* anychar
* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパタ... -
IO
. for _ fd(fd , mode = "r" , **opts) -> IO (130.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
. open(fd , mode = "r" , **opts) -> IO (130.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
. open(fd , mode = "r" , **opts) {|io| . . . } -> object (130.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
... -
IO
. pipe -> [IO] (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe {|read _ io , write _ io| . . . } -> object (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(enc _ str , **opts) -> [IO] (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(enc _ str , **opts) {|read _ io , write _ io| . . . } -> object (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc) -> [IO] (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc) {|read _ io , write _ io| . . . } -> object (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc , int _ enc , **opts) -> [IO] (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc , int _ enc , **opts) {|read _ io , write _ io| . . . } -> object (109.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
WIN32OLE (109.0)
-
OLEオートメーションサーバをRubyで操作するためのクラスです。
OLEオートメーションサーバをRubyで操作するためのクラスです。
Windowsの多くのアプリケーションやライブラリは、COMと呼ばれるAPI群を利用
して他のプログラムから操作できます。WIN32OLEがサポートしているのは、
COMのAPIのうち、特にインタープリタ用のインターフェイスであるOLEオートメー
ション(IDispatchインターフェイス)とそれに付随するリフレクション用のイ
ンターフェイスです。
これらのインターフェイスをサポートしている代表的なWindowsアプリケーショ
ンに、Office、IE、iTunes、Illustratorがあります。また、WMI、WshS... -
IO
. popen([env = {} , [cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) -> IO (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , [cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , cmdname , *args , execopt={}] , mode = "r" , opt={}) -> IO (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [[cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) -> IO (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [[cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [cmdname , *args , execopt={}] , mode = "r" , opt={}) -> IO (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , command , mode = "r" , opt={}) -> IO (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , command , mode = "r" , opt={}) {|f| . . . } -> object (100.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
# eof -> bool (91.0) -
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。
f = File.new("testfile")
dummy = f.readlines
f.eof #=> true
自身がパイプやソケットなどのストリームであった場合、相手がデータを送るか close するまでブロックします。
r, w = IO.pipe
Thread.new { sleep 10; w.close }
r.eof? #=> 10秒ブロックしてから true を返す。
r, w = IO.pipe
Thre... -
IO
# eof? -> bool (91.0) -
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。
f = File.new("testfile")
dummy = f.readlines
f.eof #=> true
自身がパイプやソケットなどのストリームであった場合、相手がデータを送るか close するまでブロックします。
r, w = IO.pipe
Thread.new { sleep 10; w.close }
r.eof? #=> 10秒ブロックしてから true を返す。
r, w = IO.pipe
Thre... -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (91.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. tcp _ server _ loop(port) {|sock , addr| . . . } -> () (91.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
WIN32OLE
# ole _ free -> () (91.0) -
selfが参照するCOMオブジェクトを解放します。
selfが参照するCOMオブジェクトを解放します。
selfが参照するCOMオブジェクトのIUnknown::Releaseを呼び出すことで、COMオ
ブジェクトを開放します。ole_freeを呼び出した後は、このオブジェクトに対
する操作は行えません。
excel = WIN32OLE.new('Excel.Application')
excel.ole_free # オブジェクトの解放
excel.Quit #=> RuntimeError (failed to get Dispatch Interface)
通常は利用されなくなったWIN32OLEオブジェ... -
IO
# reopen(path) -> self (76.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 (76.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"... -
File
:: Stat # size? -> Integer | nil (73.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
//} -
OpenSSL
:: SSL :: SSLSocket (73.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
=== 例
SSL/TLS サーバに接続して write します。
require 'socket'
require 'openssl'
include OpenSSL
soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification er... -
Zlib
:: Deflate # flush(flush = Zlib :: SYNC _ FLUSH) -> String (73.0) -
deflate('', flush) と同じです。flush が 省略された時は Zlib::SYNC_FLUSH が使用されます。 このメソッドはスクリプトの可読性のために提供されています。
deflate('', flush) と同じです。flush が
省略された時は Zlib::SYNC_FLUSH が使用されます。
このメソッドはスクリプトの可読性のために提供されています。
@param flush Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
require 'zlib'
def case1
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge')
comp_str << dez.deflate(' fuga'... -
shell (73.0)
-
Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。
Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。
sh/csh の制御文は Ruby の機能を用いて実現します。
=== サンプル
==== Example 1:
require 'shell'
sh = Shell.cd("/tmp")
sh.mkdir "shell-test-1" unless sh.exists?("shell-test-1")
sh.cd("shell-test-1")
for dir in ["dir1", "dir3", "dir5"]
unless sh.exists?(... -
IO
. popen("-" , mode = "r" , opt={}) -> IO (70.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 (70.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 (70.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 (70.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
... -
Zlib
:: GzipReader # rewind -> 0 (67.0) -
ファイルポインタを Zlib::GzipReader.new を呼び出した直後の 時点に戻します。関連付けられている IO オブジェクトに seek メソッドが定義されている必要があります。
ファイルポインタを Zlib::GzipReader.new を呼び出した直後の
時点に戻します。関連付けられている IO オブジェクトに
seek メソッドが定義されている必要があります。
require 'zlib'
=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.puts 'hoge'
gz.puts 'fuga'
}
=end
gz = Zlib::GzipReader.open('hoge.gz')
puts gz.gets #... -
Zlib
:: GzipWriter . open(filename , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: GzipWriter (67.0) -
filename で指定されるファイルを gzip 圧縮データの 書き出し用にオープンします。GzipWriter オブジェクトを返します。 その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と 同じです。
filename で指定されるファイルを gzip 圧縮データの
書き出し用にオープンします。GzipWriter オブジェクトを返します。
その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と
同じです。
@param filename ファイル名を文字列で指定します。
@param level 0-9の範囲の整数、または Zlib::NO_COMPRESSION, Zlib::BEST_SPEED,
Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION を指定... -
Zlib
:: GzipWriter . open(filename , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) {|gz| . . . } -> object (67.0) -
filename で指定されるファイルを gzip 圧縮データの 書き出し用にオープンします。GzipWriter オブジェクトを返します。 その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と 同じです。
filename で指定されるファイルを gzip 圧縮データの
書き出し用にオープンします。GzipWriter オブジェクトを返します。
その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と
同じです。
@param filename ファイル名を文字列で指定します。
@param level 0-9の範囲の整数、または Zlib::NO_COMPRESSION, Zlib::BEST_SPEED,
Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION を指定... -
IO
# isatty -> bool (55.0) -
入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。
入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。
@raise IOError 既に close されている場合に発生します。
//emlist[例][ruby]{
File.new("testfile").isatty # => false
File.new("/dev/tty").isatty # => true
//} -
IO
# tty? -> bool (55.0) -
入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。
入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。
@raise IOError 既に close されている場合に発生します。
//emlist[例][ruby]{
File.new("testfile").isatty # => false
File.new("/dev/tty").isatty # => true
//} -
Rinda
:: TupleSpace # notify(event , pattern , sec = nil) -> Rinda :: NotifyTemplateEntry (55.0) -
event で指定した種類のイベントの監視を開始します。
event で指定した種類のイベントの監視を開始します。
イベントを生じさせたタプルがpattern にマッチした場合にのみ報告されます。
イベントが生じた場合、
このメソッドの返り値の Rinda::NotifyTemplateEntry を経由し、
Rinda::NotifyTemplateEntry#each を用いて報告を受け取ります。
sec で監視期間を秒数で指定できます。 nil で無限に監視し続けます。
event として以下の3つを指定できます。
* 'write' : タプルが追加された
* 'take' : タプルが take された
* 'delet... -
StringIO (55.0)
-
文字列に IO と同じインタフェースを持たせるためのクラスです。
文字列に IO と同じインタフェースを持たせるためのクラスです。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read #=> "hoge"
sio.rewind
p sio.read(1) #=> "h"
sio.write("OGE")
sio.rewind
p sio.read #=> "hOGE"
//}
=== 例外
StringIO オブジェクトは大抵の場合 IO オブジェクトと同... -
Tempfile
# path -> String | nil (55.0) -
テンポラリファイルのパス名を返します。
テンポラリファイルのパス名を返します。
Tempfile#close! を実行後だった場合にはnilを返します。
require "tempfile"
tf = Tempfile.new("hoo")
p tf.path # => "/tmp/hoo.10596.0"
tf.close!
p tf.path # => nil -
Zlib
:: GzipWriter (55.0) -
gzip 形式の圧縮ファイルを書き出すラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。
gzip 形式の圧縮ファイルを書き出すラッパークラスです。
IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを
持つオブジェクト) と関連付けて使用します。
require 'zlib'
Zlib::GzipWriter.open('hoge.gz') {|gz|
gz.write 'jugemu jugemu gokou no surikire...'
}
f = File.open('hoge.gz', 'w')
gz = Zlib::GzipWriter.new(f)
gz.write 'jugemu jugemu g... -
net
/ smtp (55.0) -
メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol) を扱うライブラリです。
メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol)
を扱うライブラリです。
ヘッダなどメールのデータを扱うことはできません。
SMTP の実装は 2821 に基いています。
=== 使用例
==== とにかくメールを送る
SMTP を使ってメールを送るにはまず SMTP.start でセッションを開きます。
第一引数がサーバのアドレスで第二引数がポート番号です。
ブロックを使うと File.open と同じように終端処理を自動的にやってくれる
のでおすすめです。
require 'net/smtp'
Net::SMTP.... -
CGI
# header(options = "text / html") -> String (37.0) -
HTTP ヘッダを options に従って生成します。 CGI#out と違い、標準出力には出力しません。 CGI#out を使わずに自力で HTML を出力したい場合などに使います。 このメソッドは文字列エンコーディングを変換しません。
HTTP ヘッダを options に従って生成します。 CGI#out と違い、標準出力には出力しません。
CGI#out を使わずに自力で HTML を出力したい場合などに使います。
このメソッドは文字列エンコーディングを変換しません。
ヘッダのキーとしては以下が利用可能です。
: type
Content-Type ヘッダです。デフォルトは "text/html" です。
: charset
ボディのキャラクタセットを Content-Type ヘッダに追加します。
: nph
真偽値を指定します。真ならば、HTTP のバージョン、ステータスコード、
Date ヘッ... -
CGI
# out(options = "text / html") { . . . . } (37.0) -
HTTP ヘッダと、ブロックで与えられた文字列を標準出力に出力します。
HTTP ヘッダと、ブロックで与えられた文字列を標準出力に出力します。
HEADリクエスト (REQUEST_METHOD == "HEAD") の場合は HTTP ヘッダのみを出力します。
charset が "iso-2022-jp"・"euc-jp"・"shift_jis" のいずれかで
ある場合は文字列エンコーディングを自動変換し、language を "ja"にします。
@param options Hash か文字列で HTTP ヘッダを生成するための情報を指定します。
例:
cgi = CGI.new
cgi.out{ "string" ... -
File
# chmod(mode) -> 0 (37.0) -
ファイルのモードを指定された mode に変更します。
ファイルのモードを指定された mode に変更します。
モードの変更に成功した場合は 0 を返します。失敗した場合は例外 Errno::EXXX が発生し
ます。
@param mode chmod(2) と同様に整数で指定します。
@raise IOError 自身が close されている場合に発生します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
f = File.new("out", "w");
f.chmod(0644) #=> 0
//} -
IO
# rewind -> 0 (37.0) -
ファイルポインタを先頭に移動します。IO#lineno は 0 になります。
ファイルポインタを先頭に移動します。IO#lineno は 0 になります。
@raise IOError 既に close されている場合に発生します。
f = File.new("testfile")
f.readline #=> "This is line one\n"
f.rewind #=> 0
f.lineno #=> 0
f.readline #=> "This is line one\n" -
IO
# seek(offset , whence = IO :: SEEK _ SET) -> 0 (37.0) -
ファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。
ファイルポインタを whence の位置から offset だけ移動させます。
offset 位置への移動が成功すれば 0 を返します。
@param offset ファイルポインタを移動させるオフセットを整数で指定します。
@param whence 値は以下のいずれかです。
それぞれ代わりに :SET、:CUR、:END、:DATA、:HOLE を指定す
る事も可能です。
* IO::SEEK_SET: ファイルの先頭から (デフォルト)
* IO::SEEK_CUR: 現在のファイルポインタから
* IO::SE... -
Net
:: FTP . open(host , user = nil , passwd = nil , acct = nil) -> Net :: FTP (37.0) -
新しい Net::FTP インスタンスを生成します。
新しい Net::FTP インスタンスを生成します。
Net::FTP.new と異なり host を省略できません。
ブロックを与えた場合には、生成したインスタンスを
ブロックに渡して呼びだします。この場合、ブロック終了時に
Net::FTP#close を呼びだし、ブロックの値を
返します。
ブロックを与えなかった場合には生成したインスタンスを返します。
user が指定された場合は Net::FTP#login
を呼び出します。
@param host 接続するホストを指定します。
@param user ログインに使うユーザ名を指定します。
@param passwd ロ... -
Net
:: FTP . open(host , user = nil , passwd = nil , acct = nil) {|ftp| . . . } -> object (37.0) -
新しい Net::FTP インスタンスを生成します。
新しい Net::FTP インスタンスを生成します。
Net::FTP.new と異なり host を省略できません。
ブロックを与えた場合には、生成したインスタンスを
ブロックに渡して呼びだします。この場合、ブロック終了時に
Net::FTP#close を呼びだし、ブロックの値を
返します。
ブロックを与えなかった場合には生成したインスタンスを返します。
user が指定された場合は Net::FTP#login
を呼び出します。
@param host 接続するホストを指定します。
@param user ログインに使うユーザ名を指定します。
@param passwd ロ... -
Socket
. unix(path) -> Socket (37.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix(path) {|sock| . . . } -> object (37.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Tempfile
# length -> Integer (37.0) -
テンポラリファイルのサイズを返します。
テンポラリファイルのサイズを返します。
require "tempfile"
tf = Tempfile.new("foo")
tf.print("bar,ugo")
p tf.size # => 7
tf.close
p tf.size # => 7 -
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" -
Tempfile
# size -> Integer (37.0) -
テンポラリファイルのサイズを返します。
テンポラリファイルのサイズを返します。
require "tempfile"
tf = Tempfile.new("foo")
tf.print("bar,ugo")
p tf.size # => 7
tf.close
p tf.size # => 7 -
WIN32OLE
# _ getproperty(dispid , args , types) -> object (37.0) -
DISPIDとパラメータの型を指定してオブジェクトのプロパティを参照します。
DISPIDとパラメータの型を指定してオブジェクトのプロパティを参照します。
アクセスするプロパティのインターフェイスを事前に知っている場合に、
DISPIDとパラメータの型を指定してプロパティを参照します。
@param dispid プロパティのDISPID(メソッドを一意に特定する数値)を指定
します。
@param args プロパティが引数を取る場合に配列で指定します。引数の順序は
最左端の引数のインデックスを0とします。引数が不要な場合は空
配列を指定します。
@param types プロパティが... -
WIN32OLE
# _ setproperty(dispid , args , types) -> () (37.0) -
DISPIDとパラメータの型を指定してオブジェクトのプロパティを設定します。
DISPIDとパラメータの型を指定してオブジェクトのプロパティを設定します。
アクセスするプロパティのインターフェイスを事前に知っている場合に、
DISPIDとパラメータの型を指定してプロパティを設定します。
このメソッドはCOMアーリーバインディングを利用することで外部プロセスサー
バとのラウンドトリップを減らして処理速度を向上させることを目的としたも
のです。このため、DLLの形式で型情報(TypeLib)を提供しているサーバに対
してはあまり意味を持ちません。
@param dispid プロパティのDISPID(メソッドを一意に特定する数値)を指定
し... -
Zlib
:: Deflate . deflate(string , level = Zlib :: DEFAULT _ COMPRESSION) -> String (37.0) -
string を圧縮します。level の有効な値は Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION 及び 0 から 9 の整数です。
string を圧縮します。level の有効な値は
Zlib::NO_COMPRESSION, Zlib::BEST_SPEED,
Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION
及び 0 から 9 の整数です。
ちなみに、このメソッドは以下のコードとほぼ同じです:
require 'zlib'
def deflate(string, level)
z = Zlib::Deflate.new(level)
dst = z.deflate(string, Zlib::FINISH)
z.close
... -
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
:: Inflate . inflate(string) -> String (37.0) -
string を展開します。
string を展開します。
ちなみに、このメソッドは以下のコードとほぼ同じです:
require 'zlib'
def inflate(string)
zstream = Zlib::Inflate.new
buf = zstream.inflate(string)
zstream.finish
zstream.close
buf
end
@param string 展開する文字列を指定します。
@raise Zlib::NeedDict 展開に辞書が必要な場合に発生します。
require 'zlib'
cstr ... -
net
/ ftp (37.0) -
FTP プロトコルを扱うライブラリです。
FTP プロトコルを扱うライブラリです。
基本的には unix の ftp コマンドのような
command-line interface の FTP クライアントを使ったことのある
人にとってわかりやすいインターフェースになっています。
より「Ruby 的」であるインターフェースも用意しています。
FTP については 959、3659 を参考にしてください。
=== バイナリモードとテキストモード
FTP のデータ転送にはテキストモードとバイナリモード
があります。テキストモードで転送する場合には
改行を適宜CRLFに変換します。バイナリモードの場合は
一切の変換をしません。
通常... -
IO
# reopen(io) -> self (31.0) -
自身を指定された io に繋ぎ換えます。
自身を指定された io に繋ぎ換えます。
クラスも io に等しくなることに注意してください。
IO#pos, IO#lineno などは指定された io と等しくなります。
@param io 自身を繋ぎ換えたい IO オブジェクトを指定します。
@raise IOError 指定された io が close されている場合に発生します。