ライブラリ
クラス
- CGI (1)
-
CGI
:: Cookie (1) - CSV (5)
- Date (1)
-
JSON
:: Parser (1) - OptionParser (4)
モジュール
- JSON (3)
-
Net
:: HTTPHeader (6) - OpenURI (2)
-
OptionParser
:: Arguable (1) -
WEBrick
:: HTTPUtils (1)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - Converters (1)
-
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) - OptionParser (1)
- [] (1)
-
_ parse (1) - fetch (3)
-
form
_ data= (1) - getopts (5)
- new (2)
-
open
_ uri (2) - optparse (1)
-
parse
_ header (1) -
parse
_ line (1) -
pretty
_ unparse (1) -
rexml
/ parsers / pullparser (1) -
rexml
/ parsers / ultralightparser (1) - rss (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 4 feature (1) -
set
_ form _ data (1) -
type
_ params (1) - unparse (1)
検索結果
先頭5件
-
CSV
. parse(str , options = Hash . new) -> Array (54667.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。
@param str 文字列を指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require 'csv'
require 'pp'
s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS
pp CSV.parse(s)
# => ... -
CSV
. parse(str , options = Hash . new) {|row| . . . } -> nil (54667.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。
@param str 文字列を指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require 'csv'
require 'pp'
s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS
pp CSV.parse(s)
# => ... -
CGI
. parse(query) -> Hash (54625.0) -
与えられたクエリ文字列をパースします。
与えられたクエリ文字列をパースします。
@param query クエリ文字列を指定します。
例:
require "cgi"
params = CGI.parse("query_string")
# {"name1" => ["value1", "value2", ...],
# "name2" => ["value1", "value2", ...], ... } -
CGI
:: Cookie . parse(raw _ cookie) -> Hash (54625.0) -
クッキー文字列をパースします。
クッキー文字列をパースします。
@param raw_cookie 生のクッキーを表す文字列を指定します。
例:
cookies = CGI::Cookie.parse("raw_cookie_string")
# { "name1" => cookie1, "name2" => cookie2, ... } -
rexml
/ parsers / ultralightparser (36109.0) -
パース結果を配列で作られた木構造により返すパーサ。
パース結果を配列で作られた木構造により返すパーサ。
REXML::Parsers::UltraLightParser.new でパーサオブジェクトを
生成し、REXML::Parsers::UltraLightParser#parse でパースし
その結果の木構造を返します。
===[a:nodes] ノードの表現
REXML::Parsers::UltraLightParser#parse が返す
XML の各ノードは配列で表現されます。
配列の最初の要素はシンボルでノードの種類を表わし、2番目以降の要素で
そのノードの情報を保持しています。
例えばテキストノードは [:text, テキ... -
rexml
/ parsers / pullparser (36037.0) -
プル方式の XML パーサ。
プル方式の XML パーサ。
REXML::Parsers::StreamParser はパースした結果をコールバックによって
受動的に受け取りますが、このパーサは REXML::Parsers::PullParser#pull
によってパーサから結果をイベントという形で順に能動的に取り出します。
外部的にはこのクラスのオブジェクトはイベントのキューと見なせます。
pull はそのキューの先頭を取り出し、キューから取り除きます。
pull は REXML::Parsers::PullEvent オブジェクトを返します。
このオブジェクトの
REXML::Parsers::PullEvent... -
Date
. _ parse(str , complete = true) -> Hash (18673.0) -
このメソッドは Date.parse と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。
このメソッドは Date.parse と似ていますが、日付オブジェクトを生成せずに、
見いだした要素をハッシュで返します。
Date.parse も参照してください。
@param str 日付をあらわす文字列
@param complete 年を補完するか -
CSV
. parse _ line(line , options = Hash . new) -> Array (18661.0) -
このメソッドは一行の CSV 文字列を配列に変換するためのショートカットです。
このメソッドは一行の CSV 文字列を配列に変換するためのショートカットです。
@param line 文字列を指定します。複数行の文字列を指定した場合は、一行目以外は無視します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require 'csv'
p CSV.parse_line("1,taro,tanaka,20")
# => ["1", "taro", "tanaka", "20"]
p CSV.parse_line("1|taro|tanaka|20", col_sep: '|')
#... -
WEBrick
:: HTTPUtils . # parse _ header(raw) -> Hash (18607.0) -
HTTP ヘッダをパースして結果をハッシュに格納して返します。
HTTP ヘッダをパースして結果をハッシュに格納して返します。
@param raw 生のヘッダを表す文字列を指定します。 -
optparse (18487.0)
-
コマンドラインのオプションを取り扱うためのライブラリです。
コマンドラインのオプションを取り扱うためのライブラリです。
=== チュートリアル
optparse を使う場合、基本的には
(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。
というような流れになります。
* optiondef
* optionarg
* longoption
* help
* subcmd
* argv
* hyphen_start_file
====[a:optiondef]... -
OptionParser (18091.0)
-
コマンドラインのオプションを取り扱うためのクラスです。
コマンドラインのオプションを取り扱うためのクラスです。
オプションが指定された時に呼ばれるブロックを
OptionParser#on メソッドで登録していきます。
つまり、OptionParser を使う場合、基本的には
(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。
というような流れになります。
//emlist[][ruby]{
require "optparse"
ProgramConfig = Ha... -
JSON
. # pretty _ unparse(object , options = nil) -> String (9391.0) -
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
Ruby のオブジェクトを JSON 形式の文字列に変換して返します。
このメソッドは JSON.#generate よりも人間に読みやすい文字列を返します。
pretty_unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param options JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
ハッシュを使用する場合指定可能なオプションは JSON.#generate を参照してください。
//emlist[... -
OptionParser
# getopts(*opts) -> Hash (9355.0) -
引数をパースした結果を、Hash として返します。
引数をパースした結果を、Hash として返します。
配列 argv を与えた場合、argv をパースします。そうでない場合は、
default_argv をパースします。
//emlist[][ruby]{
opt = OptionParser.new
params = opt.getopts(ARGV, "ab:", "foo", "bar:")
# params["a"] = true # -a
# params["b"] = "1" # -b1
# params["foo"] = true # --foo
# params["bar"] = "x" # --bar x... -
OptionParser
# getopts(argv , *opts) -> Hash (9355.0) -
引数をパースした結果を、Hash として返します。
引数をパースした結果を、Hash として返します。
配列 argv を与えた場合、argv をパースします。そうでない場合は、
default_argv をパースします。
//emlist[][ruby]{
opt = OptionParser.new
params = opt.getopts(ARGV, "ab:", "foo", "bar:")
# params["a"] = true # -a
# params["b"] = "1" # -b1
# params["foo"] = true # --foo
# params["bar"] = "x" # --bar x... -
OptionParser
. getopts(*opts) -> Hash (9355.0) -
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
@param argv パースしたい配列を指定します。
@param opts 引数を文字列で指定します。
@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。
@see OptionParser#getopts -
OptionParser
. getopts(argv , *opts) -> Hash (9355.0) -
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
@param argv パースしたい配列を指定します。
@param opts 引数を文字列で指定します。
@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。
@see OptionParser#getopts -
OptionParser
:: Arguable # getopts(short _ opt , *long _ opt) -> Hash (9352.0) -
指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。
指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。
コマンドラインに - もしくは -- を指定した場合、それ以降の解析を行ないません。
@param short_opt ショートネームのオプション(-f や -fx)を文字列で指定します。オプションが -f と -x の
2つの場合は "fx" の様に指定します。ここでオプションがないときは空文字列を指定します。
オプションが引数をとる場合は直後に ":" を付けます。
@param long_opt ロン... -
JSON
:: Parser . new(source , options => {}) -> JSON :: Parser (9337.0) -
パーサを初期化します。
パーサを初期化します。
第二引数のハッシュには以下のキーを指定することができます。
: :max_nesting
データ構造のネストの深さの最大値を指定します。デフォルトは 19 です。
チェックを無効にするにはゼロまたは偽を指定してください。
: :allow_nan
真を指定すると 4627 を無視して NaN, Infinity, -Infinity をパースエラーにしません。
デフォルトは偽です。
: :create_additions
偽を指定するとマッチするクラスや ID があっても付加情報を生成しません。デフォルトは真です。
: :object_clas... -
JSON
. # unparse(object , state = nil) -> String (9319.0) -
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。
デフォルトでは、サイズが最小となる JSON 形式の文字列を生成します。
また、循環参照のチェックを行います。JSON::NaN, JSON::Infinity,
JSON::MinusInfinity を生成することもありません。
unparse は将来削除される予定です。
@param object JSON 形式の文字列に変換するオブジェクトを指定します。
@param state JSON::State または、to_hash や to_h メソッドでハッシュに変換可能なオブジェクトを指定できます。
... -
rss (739.0)
-
RSS を扱うためのライブラリです。
RSS を扱うためのライブラリです。
=== 参考
* RSS 0.91 http://backend.userland.com/rss091
* RSS 1.0 http://purl.org/rss/1.0/spec
* RSS 2.0 http://www.rssboard.org/rss-specification
* Atom 1.0 https://www.ietf.org/rfc/rfc4287.txt
=== 注意
RSS ParserはRSS 0.9x/1.0/2.0, Atom 1.0 をサポートしていますが,RSS 0.90
はサポートしてませ... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (397.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ruby 1
. 8 . 2 feature (379.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
Net
:: HTTPHeader # type _ params -> Hash (370.0) -
Content-Type のパラメータを {"charset" => "iso-2022-jp"} という形の Hash で返します。
Content-Type のパラメータを {"charset" => "iso-2022-jp"}
という形の Hash で返します。
Content-Type: ヘッダフィールドが存在しない場合には
空のハッシュを返します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
res = Net::HTTP.get_response(uri)
res.type_params # => {"charset"=>"UTF-8"}
//} -
Net
:: HTTPHeader # fetch(key) {|hash| . . . . } -> String (358.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
CSV
. new(data , options = Hash . new) -> CSV (340.0) -
このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。
このメソッドは CSV ファイルを読み込んだり、書き出したりするために
String か IO のインスタンスをラップします。
ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用してください。
他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してください。
@param data String か IO のインスタンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。... -
CSV
:: Converters -> Hash (340.0) -
このハッシュは名前でアクセスできる組み込みの変換器を保持しています。
このハッシュは名前でアクセスできる組み込みの変換器を保持しています。
CSV#convert で使用する変換器として使用できます。
また CSV.new のオプションとして使用することもできます。
: :integer
Kernel.#Integer を使用してフィールドを変換します。
: :float
Kernel.#Float を使用してフィールドを変換します。
: :numeric
:integer と :float の組み合わせです。
: :date
Date.parse を使用してフィールドを変換します。
: :date_time
DateTime.pars... -
ruby 1
. 6 feature (253.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 がなくなっ
ていま... -
ruby 1
. 8 . 4 feature (253.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
NEWS for Ruby 2
. 2 . 0 (181.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.1.0 以降の変更
=== 言語仕様の変更
* nil/true/false
* nil/true/false はフリーズされました 8923
* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと... -
NEWS for Ruby 2
. 5 . 0 (145.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス... -
JSON
. [](object , options) -> object (109.0) -
文字列のように扱えるデータを受け取った場合は Ruby のオブジェクトに変換して返します。 そうでない場合は JSON に変換して返します。
文字列のように扱えるデータを受け取った場合は Ruby のオブジェクトに変換して返します。
そうでない場合は JSON に変換して返します。
@param object 任意のオブジェクト指定可能です。
@param options JSON.#parse, JSON.#generate の説明を参照してください。
//emlist[例][ruby]{
require "json"
string=<<JSON
{ "a":1, "b":2, "c":3 }
JSON
hash = { a: 1, b: 2, c: 3 }
JSON[string].class ... -
NEWS for Ruby 2
. 4 . 0 (109.0) -
NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.4.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.3.0 以降の変更
=== 言語仕様の変更
* 条件式での多重代入ができるようになりました 10617
* Symbol#to_proc でメソッド呼び出し元での Refinements が有効になりました 9451
* Ob... -
Net
:: HTTPHeader # fetch(key) -> String (58.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # fetch(key , default) -> String (58.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # form _ data=(params) (55.0) -
HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。
HTMLのフォームのデータ params から
ヘッダフィールドとボディを設定します。
ヘッダフィールド Content-Type: には
'application/x-www-form-urlencoded' が設定されます。
@param params HTML のフォームデータの Hash を与えます。
@param sep データのセパレータを文字列で与えます。
//emlist[例 form_data][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Ne... -
Net
:: HTTPHeader # set _ form _ data(params , sep = & # 39;&& # 39;) -> () (55.0) -
HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。
HTMLのフォームのデータ params から
ヘッダフィールドとボディを設定します。
ヘッダフィールド Content-Type: には
'application/x-www-form-urlencoded' が設定されます。
@param params HTML のフォームデータの Hash を与えます。
@param sep データのセパレータを文字列で与えます。
//emlist[例 form_data][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Ne... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (55.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 (55.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'){|...