るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
96件ヒット [1-96件を表示] (0.131秒)

別のキーワード

  1. string []=
  2. string slice
  3. string []
  4. string slice!
  5. string gsub!

検索結果

OptionParser#parse(*args) -> [String] (63634.0)

与えられた argv をパースします。 argv からオプションを取り除いたものを返します。

与えられた argv をパースします。
argv からオプションを取り除いたものを返します。

OptionParser#permute と同様に振舞います。しかし、
環境変数に POSIXLY_CORRECT が設定されている場合は、
OptionParser#order と同様に振舞います。

@param argv パースしたい引数を文字列の配列で指定します。

@param args パースしたい引数を順に文字列として与えます。


@raise OptionParser::ParseError パースに失敗した場合、発生します。
...

OptionParser#parse(argv) -> [String] (63634.0)

与えられた argv をパースします。 argv からオプションを取り除いたものを返します。

与えられた argv をパースします。
argv からオプションを取り除いたものを返します。

OptionParser#permute と同様に振舞います。しかし、
環境変数に POSIXLY_CORRECT が設定されている場合は、
OptionParser#order と同様に振舞います。

@param argv パースしたい引数を文字列の配列で指定します。

@param args パースしたい引数を順に文字列として与えます。


@raise OptionParser::ParseError パースに失敗した場合、発生します。
...

Ripper::Lexer#parse -> [[Integer, Integer], Symbol, String] (54610.0)

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た だし Ripper::Lexer#lex と違い、結果をソートしません。

自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。た
だし Ripper::Lexer#lex と違い、結果をソートしません。

ライブラリ内部で使用します。

String#parse_csv(**options) -> [String] (45748.0)

CSV.parse_line(self, options) と同様です。

CSV.parse_line(self, options) と同様です。

1 行の CSV 文字列を、文字列の配列に変換するためのショートカットです。

@param options CSV.new と同様のオプションを指定します。

//emlist[][ruby]{
require "csv"

p "Matz,Ruby\n".parse_csv # => ["Matz", "Ruby"]
p "Matz|Ruby\r\n".parse_csv(col_sep: '|', row_sep: "\r\n") # => ...

OptionParser::Arguable#parse! -> [String] (27676.0)

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#parse! を参照して下さい。

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。
OptionParser#parse! を参照して下さい。

@raise OptionParser::ParseError 自身のパースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスの例外になります。

//emlist[][ruby]{
require 'optparse'

o = nil
ARGV.options.on('-...

絞り込み条件を変える

OptionParser#parse!(argv = self.default_argv) -> [String] (27646.0)

与えられた argv をパースします。

与えられた argv をパースします。

OptionParser#permute! と同様に argv を破壊的にパースします。
環境変数に POSIXLY_CORRECT が設定されている場合は、
OptionParser#order! と同様に振舞います。

@param argv パースしたい引数を文字列の配列で指定します。


@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
...

Psych::ScalarScanner#parse_time(string) -> Time (18628.0)

文字列を Time オブジェクトに変換します。

文字列を Time オブジェクトに変換します。

@param string 変換文字列

WEBrick::HTTPRequest#unparsed_uri -> String (18607.0)

リクエストの URI を文字列で返します。

リクエストの URI を文字列で返します。

OptionParser::ParseError#message -> String (18310.0)

標準エラーに出力するメッセージを返します。

標準エラーに出力するメッセージを返します。

@return 文字列を返します。

OptionParser::ParseError#to_s -> String (18310.0)

標準エラーに出力するメッセージを返します。

標準エラーに出力するメッセージを返します。

@return 文字列を返します。

絞り込み条件を変える

OptionParser::ParseError#inspect -> String (18307.0)

自身を人間が読みやすい形の文字列表現にして返します。

自身を人間が読みやすい形の文字列表現にして返します。

@return 文字列を返します。

@see Object#inspect

OptionParser::ParseError#reason -> String (18307.0)

エラーの内容を文字列で返します。

エラーの内容を文字列で返します。

@return 文字列を返します。

OptionParser::ParseError#set_backtrace(array) -> [String] (18307.0)

自身に array で指定したバックトレースを設定します。

自身に array で指定したバックトレースを設定します。

@param array バックトレースを文字列の配列で指定します。

@return array を返します。

OptionParser#environment(env) -> [String] (9355.0)

環境変数 env に対して Shellwords.#shellwords を呼 んで配列にしてから parse を行ないます。

環境変数 env に対して
Shellwords.#shellwords を呼
んで配列にしてから parse を行ないます。

@param env 環境変数名を文字列で与えます。

@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。

//emlist[例][ruby]{
require "optparse"

config = ...

OptionParser#on(long, klass = String, desc = "") {|v| ...} -> self (9337.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

klass にはクラスを与えます。どのようなクラスを受け付けるかは、
以下の「デフォルトで利用可能な引数クラス」を参照して下さい。
OptionParser.accept や OptionParser#accept によって、受け付け
るクラスを増やすことができます。登録されていないクラスが指定された
場合、例外 ArgumentError を投げます。
また、登録されたクラスであっても引数が変換できないものである場合、例外
OptionParser::I...

絞り込み条件を変える

OptionParser#on(short, klass = String, desc = "") {|v| ...} -> self (9337.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

klass にはクラスを与えます。どのようなクラスを受け付けるかは、
以下の「デフォルトで利用可能な引数クラス」を参照して下さい。
OptionParser.accept や OptionParser#accept によって、受け付け
るクラスを増やすことができます。登録されていないクラスが指定された
場合、例外 ArgumentError を投げます。
また、登録されたクラスであっても引数が変換できないものである場合、例外
OptionParser::I...

OptionParser#on(short, long, klass = String, desc = "") {|v| ...} -> self (9337.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

klass にはクラスを与えます。どのようなクラスを受け付けるかは、
以下の「デフォルトで利用可能な引数クラス」を参照して下さい。
OptionParser.accept や OptionParser#accept によって、受け付け
るクラスを増やすことができます。登録されていないクラスが指定された
場合、例外 ArgumentError を投げます。
また、登録されたクラスであっても引数が変換できないものである場合、例外
OptionParser::I...

OptionParser#ver -> String (9325.0)

program_name、version と release から生成したバージョンを表す文字列を返します。

program_name、version と release から生成したバージョンを表す文字列を返します。

//emlist[例][ruby]{
require "optparse"

OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"
opts.program_name = "Optparse Example"
opts.version = [0, 1]
opts.release = "2019-05-01"

opts.on_tail("--version", "Show v...

OptionParser#order(*args) -> [String] (9316.0)

与えられた argv を順番にパースします。 オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 argv からオプションを取り除いたものを返します。

与えられた argv を順番にパースします。
オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
argv からオプションを取り除いたものを返します。

ブロックが与えられている場合は、パースを中断せずに引数をブロックに渡してブロックを評価し、
パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができま
せん。-b もコマンドのオプションではない引数として扱われてしまいます。

@param argv パースしたい引数を文字列の配列で指定します。

@param a...

OptionParser#order(*args) {|s| ...} -> [String] (9316.0)

与えられた argv を順番にパースします。 オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 argv からオプションを取り除いたものを返します。

与えられた argv を順番にパースします。
オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
argv からオプションを取り除いたものを返します。

ブロックが与えられている場合は、パースを中断せずに引数をブロックに渡してブロックを評価し、
パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができま
せん。-b もコマンドのオプションではない引数として扱われてしまいます。

@param argv パースしたい引数を文字列の配列で指定します。

@param a...

絞り込み条件を変える

OptionParser#order(argv) -> [String] (9316.0)

与えられた argv を順番にパースします。 オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 argv からオプションを取り除いたものを返します。

与えられた argv を順番にパースします。
オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
argv からオプションを取り除いたものを返します。

ブロックが与えられている場合は、パースを中断せずに引数をブロックに渡してブロックを評価し、
パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができま
せん。-b もコマンドのオプションではない引数として扱われてしまいます。

@param argv パースしたい引数を文字列の配列で指定します。

@param a...

OptionParser#order(argv) {|s| ...} -> [String] (9316.0)

与えられた argv を順番にパースします。 オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 argv からオプションを取り除いたものを返します。

与えられた argv を順番にパースします。
オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
argv からオプションを取り除いたものを返します。

ブロックが与えられている場合は、パースを中断せずに引数をブロックに渡してブロックを評価し、
パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができま
せん。-b もコマンドのオプションではない引数として扱われてしまいます。

@param argv パースしたい引数を文字列の配列で指定します。

@param a...

OptionParser#help -> String (9310.0)

サマリの文字列を返します。

サマリの文字列を返します。

//emlist[例][ruby]{
require "optparse"

options = {}
opts = OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"

opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
options[:verbose] = v
end
end

puts opts.help

# => Usage: example.rb [options]
# -v...

OptionParser#order!(argv = self.default_argv) -> [String] (9310.0)

与えられた argv を順番に破壊的にパースします。 argv からオプションがすべて取り除かれます。 argv を返します。

与えられた argv を順番に破壊的にパースします。
argv からオプションがすべて取り除かれます。
argv を返します。

オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
ブロックが与えられている場合は、パースを中断せずに
引数をブロックに渡してブロックを評価し、パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができません。
-b もコマンドのオプションではない引数として扱われてしまいます。

@param argv パースしたい引数を文字列の配列で指定...

OptionParser#order!(argv = self.default_argv) {|s| ...} -> [String] (9310.0)

与えられた argv を順番に破壊的にパースします。 argv からオプションがすべて取り除かれます。 argv を返します。

与えられた argv を順番に破壊的にパースします。
argv からオプションがすべて取り除かれます。
argv を返します。

オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。
ブロックが与えられている場合は、パースを中断せずに
引数をブロックに渡してブロックを評価し、パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができません。
-b もコマンドのオプションではない引数として扱われてしまいます。

@param argv パースしたい引数を文字列の配列で指定...

絞り込み条件を変える

OptionParser#permute(*args) -> [String] (9310.0)

与えられた argv をパースします。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。

与えられた argv をパースします。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv からオプションを取り除いたものを返します。

下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。

@param argv パースしたい引数を文字列の配列で指定します。

@param args パースしたい引数を順に文字列として与えます。


@raise OptionParser::ParseError パースに失敗した場合、発生します。
...

OptionParser#permute(argv) -> [String] (9310.0)

与えられた argv をパースします。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。

与えられた argv をパースします。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv からオプションを取り除いたものを返します。

下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。

@param argv パースしたい引数を文字列の配列で指定します。

@param args パースしたい引数を順に文字列として与えます。


@raise OptionParser::ParseError パースに失敗した場合、発生します。
...

OptionParser#to_s -> String (9310.0)

サマリの文字列を返します。

サマリの文字列を返します。

//emlist[例][ruby]{
require "optparse"

options = {}
opts = OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"

opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
options[:verbose] = v
end
end

puts opts.help

# => Usage: example.rb [options]
# -v...

OptionParser::Arguable#order! -> [String] (9310.0)

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#order! を参照して下さい。

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。
OptionParser#order! を参照して下さい。

@raise OptionParser::ParseError 自身のパースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスの例外になります。

//emlist[][ruby]{
require 'optparse'

o = nil
ARGV.options.on('-...

OptionParser::Arguable#order! {|s| ... } -> [String] (9310.0)

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#order! を参照して下さい。

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。
OptionParser#order! を参照して下さい。

@raise OptionParser::ParseError 自身のパースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスの例外になります。

//emlist[][ruby]{
require 'optparse'

o = nil
ARGV.options.on('-...

絞り込み条件を変える

JSON::Parser#source -> String (9307.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": {
...

OptionParser#banner -> String (9307.0)

サマリの最初に表示される文字列を返します。

サマリの最初に表示される文字列を返します。

@return サマリの最初に表示される文字列を返します。

//emlist[例][ruby]{
require "optparse"

options = {}
opts = OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"

opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
options[:verbose] = v
end
end

p opts.banner # =...

OptionParser#default_argv -> [String] (9307.0)

自身がデフォルトでパースする引数を文字列の配列で返します。

自身がデフォルトでパースする引数を文字列の配列で返します。

@param argv デフォルトでパースする文字列の配列を返します。

//emlist[例][ruby]{
require "optparse"

opts = OptionParser.new

# --hoo param1 --bar param2 をパラメーターに指定して実行
opts.default_argv # => ["--foo", "param1", "--bar", "param2"]
//}

OptionParser#permute!(argv = self.default_argv) -> [String] (9307.0)

与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv を返します。

与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv を返します。

下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。

@param argv パースしたい引数を文字列の配列で指定します。


@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は Optio...

OptionParser#program_name -> String (9307.0)

プログラムの名前を文字列で返します。

プログラムの名前を文字列で返します。

デフォルトは $0 が使われます。

@return プログラムの名前を文字列で返します。

//emlist[例][ruby]{
require "optparse"

OptionParser.new do |opts|
p $0 # => /path/to/filename.rb
p opts.program_name # => filename
end
//}

絞り込み条件を変える

OptionParser#release -> String (9307.0)

プログラムのリリースを文字列で返します。

プログラムのリリースを文字列で返します。

//emlist[例][ruby]{
require "optparse"

OptionParser.new do |opts|
opts.release # => nil
opts.release = "2019-05-01"
opts.release # => "2019-05-01"
end
//}

OptionParser#summary_indent -> String (9307.0)

サマリを表示する時のインデントを文字列で返します。

サマリを表示する時のインデントを文字列で返します。

@return サマリを表示する時のインデントを文字列で返します。

//emlist[例][ruby]{
require "optparse"

opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end

opts.summary_indent # => " "
opts.summarize
# => [" -i,...

OptionParser#to_a -> [String] (9307.0)

サマリの各行を要素とした配列を返します。

サマリの各行を要素とした配列を返します。

//emlist[例][ruby]{
require "optparse"

opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end

opts.to_a # => ["Usage: test [options]", " -i, --init\n", " -u, --update\n", " -h, --help\n"]
//}

OptionParser#version -> String (9307.0)

プログラムのバージョンを文字列で返します。

プログラムのバージョンを文字列で返します。

@return プログラムのバージョンを文字列で返します。


@see OptionParser#ver

OptionParser::Arguable#permute! -> [String] (9307.0)

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#permute! を参照して下さい。

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。
OptionParser#permute! を参照して下さい。

@raise OptionParser::ParseError 自身のパースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスの例外になります。

//emlist[][ruby]{
require 'optparse'

o = nil
ARGV.options.on(...

絞り込み条件を変える

RDoc::Parser::Simple#remove_private_comments(comment) -> String (9307.0)

行頭の "--" から "++" で囲まれたコメントを comment から削除した結果を返 します。

行頭の "--" から "++" で囲まれたコメントを comment から削除した結果を返
します。

@param comment 対象の文字列を指定します。

@return コメントが削除された文字列を返します。

REXML::ParseException#to_s -> String (9307.0)

例外情報を文字列化して返します。

例外情報を文字列化して返します。

OptionParser#on(long, *rest) {|v| ...} -> self (9037.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

コマンドに与えられた引数が配列やハッシュに含まれない場合、例外
OptionParser::InvalidArgument が OptionParser#parse 実行時
に発生します。

@param short ショートオプションを表す文字列を指定します。

@param long ロングオプションを表す文字列を指定します。

@param rest 可能な引数を列挙した配列やハッシュを与えます。文字列を与えた場合は、
サマリ...

OptionParser#on(long, pat = /.*/, desc = "") {|v| ...} -> self (9037.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

pat にはオプションの引数に許すパターンを表す正規表現で与えます。
コマンドに与えられた引数がパターンにマッチしない場合、
例外 OptionParser::InvalidArgument が parse 実行時に投げられます。

opts.on("--username VALUE", /[a-zA-Z0-9_]+/){|name| ...}
# ruby command --username=ruby_user
# ruby command...

OptionParser#on(short, *rest) {|v| ...} -> self (9037.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

コマンドに与えられた引数が配列やハッシュに含まれない場合、例外
OptionParser::InvalidArgument が OptionParser#parse 実行時
に発生します。

@param short ショートオプションを表す文字列を指定します。

@param long ロングオプションを表す文字列を指定します。

@param rest 可能な引数を列挙した配列やハッシュを与えます。文字列を与えた場合は、
サマリ...

絞り込み条件を変える

OptionParser#on(short, long, *rest) {|v| ...} -> self (9037.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

コマンドに与えられた引数が配列やハッシュに含まれない場合、例外
OptionParser::InvalidArgument が OptionParser#parse 実行時
に発生します。

@param short ショートオプションを表す文字列を指定します。

@param long ロングオプションを表す文字列を指定します。

@param rest 可能な引数を列挙した配列やハッシュを与えます。文字列を与えた場合は、
サマリ...

OptionParser#on(short, long, pat = /.*/, desc = "") {|v| ...} -> self (9037.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

pat にはオプションの引数に許すパターンを表す正規表現で与えます。
コマンドに与えられた引数がパターンにマッチしない場合、
例外 OptionParser::InvalidArgument が parse 実行時に投げられます。

opts.on("--username VALUE", /[a-zA-Z0-9_]+/){|name| ...}
# ruby command --username=ruby_user
# ruby command...

OptionParser#on(short, pat = /.*/, desc = "") {|v| ...} -> self (9037.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

pat にはオプションの引数に許すパターンを表す正規表現で与えます。
コマンドに与えられた引数がパターンにマッチしない場合、
例外 OptionParser::InvalidArgument が parse 実行時に投げられます。

opts.on("--username VALUE", /[a-zA-Z0-9_]+/){|name| ...}
# ruby command --username=ruby_user
# ruby command...

OptionParser#on(long, desc = "") {|v| ... } -> self (9022.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

ショートオプションとロングオプションを同時に登録することもできます。
opts.on("-r", "--require LIBRARY"){|lib| ...}
これは以下と同値です。
opts.on("-r LIBRARY"){|lib| ...}
opts.on("--require LIBRARY"){|lib| ...}

複数の異なるオプションに同じブロックを一度に登録することもできます。

opt.on('-v', '-vv')...

OptionParser#on(short, desc = "") {|v| ... } -> self (9022.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

ショートオプションとロングオプションを同時に登録することもできます。
opts.on("-r", "--require LIBRARY"){|lib| ...}
これは以下と同値です。
opts.on("-r LIBRARY"){|lib| ...}
opts.on("--require LIBRARY"){|lib| ...}

複数の異なるオプションに同じブロックを一度に登録することもできます。

opt.on('-v', '-vv')...

絞り込み条件を変える

OptionParser#on(short, long, desc = "") {|v| ... } -> self (9022.0)

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

オプションを取り扱うためのブロックを自身に登録します。
ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

ショートオプションとロングオプションを同時に登録することもできます。
opts.on("-r", "--require LIBRARY"){|lib| ...}
これは以下と同値です。
opts.on("-r LIBRARY"){|lib| ...}
opts.on("--require LIBRARY"){|lib| ...}

複数の異なるオプションに同じブロックを一度に登録することもできます。

opt.on('-v', '-vv')...

OpenSSL::X509::Name#to_a -> [[String, String, Integer]] (628.0)

内容を配列にして返します。

内容を配列にして返します。

配列の各要素は、[属性型文字列、属性値文字列、属性値の型を表す整数(OpenSSL::ASN1以下の各定数で定義されているASN1の型)] という3要素の配列です。

例:
require 'openssl'
n = OpenSSL::X509::Name.parse('/C=JP/ST=Kanagawa/L=Yokohama/O=Example Company/OU=Lab3/CN=foobar/emailAddress=foobar@lab3.example.co.jp')
n.to_a
# => [["C", "JP", 19], ["ST...

Net::HTTPHeader#fetch(key) -> String (367.0)

key ヘッダフィールドを返します。

key ヘッダフィールドを返します。

たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。

該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。

一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。

@param key ヘッダフィール名を文字列で与えます。
@param default 該...

Net::HTTPHeader#fetch(key) {|hash| .... } -> String (367.0)

key ヘッダフィールドを返します。

key ヘッダフィールドを返します。

たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。

該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。

一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。

@param key ヘッダフィール名を文字列で与えます。
@param default 該...

Net::HTTPHeader#fetch(key, default) -> String (367.0)

key ヘッダフィールドを返します。

key ヘッダフィールドを返します。

たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。

該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。

一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。

@param key ヘッダフィール名を文字列で与えます。
@param default 該...

絞り込み条件を変える

URI::Generic#opaque -> String | nil (361.0)

自身の opaque を文字列で返します。設定されていない場合は nil を返します。

自身の opaque を文字列で返します。設定されていない場合は nil を返します。

例:
require 'uri'
p URI.parse('http://example.com/').opaque #=> nil
p URI.parse('mailto:nospam@localhost').opaque #=> "nospam@localhost"
p URI.parse('urn:ietf:rfc:1149').opaque #=> "ietf:rfc:1149"

URI::Generic#path -> String | nil (361.0)

自身の path を文字列で返します。設定されていない場合は nil を返します。

自身の path を文字列で返します。設定されていない場合は nil を返します。

require 'uri'
p URI.parse('http://example.com/hoge').path #=> "/hoge"
p URI.parse('http://example.com').path #=> ""
p URI.parse('mailto:nospam@localhost').path #=> nil
p URI('ftp://example.com/foo').path #=> 'foo'
p UR...

Net::HTTPResponse#read_body(dest=nil) -> String|nil (343.0)

ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。

ブロックを与えなかった場合にはエンティティボディを
文字列で返します。
ブロックを与えた場合には
エンティティボディを少しずつ取得して順次ブロックに
文字列で与えます。

レスポンスがボディを持たない場合には nil を返します。

//emlist[例1 ブロックを与えずに一度に結果取得][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.read_body[0..10] # => "<...

DateTime#iso8601(n = 0) -> String (331.0)

8601 書式の文字列を返します (XML Schema の dateTime 相当)。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

8601 書式の文字列を返します (XML Schema の dateTime 相当)。
省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

strftime('%FT%T%:z') と等価です。

@param n 小数点以下の桁数

例:

require 'date'
DateTime.parse('2001-02-03T04:05:06.123456789+07:00').iso8601(9)
#=> "2001-02-03T04:05:06.123456789+07:00"

DateTime#rfc3339(n = 0) -> String (331.0)

8601 書式の文字列を返します (XML Schema の dateTime 相当)。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

8601 書式の文字列を返します (XML Schema の dateTime 相当)。
省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

strftime('%FT%T%:z') と等価です。

@param n 小数点以下の桁数

例:

require 'date'
DateTime.parse('2001-02-03T04:05:06.123456789+07:00').iso8601(9)
#=> "2001-02-03T04:05:06.123456789+07:00"

絞り込み条件を変える

DateTime#xmlschema(n = 0) -> String (331.0)

8601 書式の文字列を返します (XML Schema の dateTime 相当)。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

8601 書式の文字列を返します (XML Schema の dateTime 相当)。
省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

strftime('%FT%T%:z') と等価です。

@param n 小数点以下の桁数

例:

require 'date'
DateTime.parse('2001-02-03T04:05:06.123456789+07:00').iso8601(9)
#=> "2001-02-03T04:05:06.123456789+07:00"

Net::HTTPResponse#body -> String | () | nil (328.0)

エンティティボディを返します。

エンティティボディを返します。

レスポンスにボディがない場合には nil を返します。

Net::HTTPResponse#read_body をブロック付きで呼んだ場合には
このメソッドはNet::ReadAdapter のインスタンスを返しますが、
これは使わないでください。

entity は obsolete です。

//emlist[例][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
r...

Net::HTTPResponse#entity -> String | () | nil (328.0)

エンティティボディを返します。

エンティティボディを返します。

レスポンスにボディがない場合には nil を返します。

Net::HTTPResponse#read_body をブロック付きで呼んだ場合には
このメソッドはNet::ReadAdapter のインスタンスを返しますが、
これは使わないでください。

entity は obsolete です。

//emlist[例][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
r...

Net::HTTPResponse#message -> String (328.0)

HTTP サーバがリザルトコードに付加して返すメッセージです。 例えば 'Not Found' などです。

HTTP サーバがリザルトコードに付加して返すメッセージです。
例えば 'Not Found' などです。

msg は obsolete です。使わないでください。

//emlist[例][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.message # => "OK"
//}

Net::HTTPResponse#msg -> String (328.0)

HTTP サーバがリザルトコードに付加して返すメッセージです。 例えば 'Not Found' などです。

HTTP サーバがリザルトコードに付加して返すメッセージです。
例えば 'Not Found' などです。

msg は obsolete です。使わないでください。

//emlist[例][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.message # => "OK"
//}

絞り込み条件を変える

URI::MailTo#to_mailtext -> String (328.0)

URI オブジェクトからメールテキスト文字列を生成します。

URI オブジェクトからメールテキスト文字列を生成します。

例:
require 'uri'
p mailto = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
print mailto.to_mailtext

=> #<URI::MailTo:0x20104a0e URL:mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr>
To: ruby-list@ruby-lang.org
Sub...

URI::MailTo#to_rfc822text -> String (328.0)

URI オブジェクトからメールテキスト文字列を生成します。

URI オブジェクトからメールテキスト文字列を生成します。

例:
require 'uri'
p mailto = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
print mailto.to_mailtext

=> #<URI::MailTo:0x20104a0e URL:mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr>
To: ruby-list@ruby-lang.org
Sub...

CSV::FieldInfo#header -> String | nil (325.0)

利用可能な場合はヘッダを表す文字列を返します。

利用可能な場合はヘッダを表す文字列を返します。

//emlist[例][ruby]{
require 'csv'

csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |field,field_info|
p field_info.header
Date.parse(field)
end
p csv.first

# => "date1"
# => "date2"
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,...

DateTime#jisx0301(n = 0) -> String (325.0)

X 0301 書式の文字列を返します。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

X 0301 書式の文字列を返します。
省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

@param n 小数点以下の桁数

例:

require 'date'
DateTime.parse('2001-02-03T04:05:06.123456789+07:00').jisx0301(9)
#=> "H13.02.03T04:05:06.123456789+07:00"

Net::HTTPGenericRequest#body -> String (325.0)

サーバに送るリクエストのエンティティボディを返します。

サーバに送るリクエストのエンティティボディを返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Post.new(uri.request_uri)
req.body = "Test Post Data"
req.body # => "Test Post Data"
//}

@see Net::HTTPGenericRequest#body=

絞り込み条件を変える

Net::HTTPGenericRequest#method -> String (325.0)

リクエストの HTTP メソッドを文字列で返します。

リクエストの HTTP メソッドを文字列で返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Post.new(uri.request_uri)
req.method # => "POST"
req = Net::HTTP::Get.new(uri.request_uri)
req.method # => "GET"
//}

Net::HTTPGenericRequest#path -> String (325.0)

リクエストする path を文字列で返します。

リクエストする path を文字列で返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.path # => "/index.html"
//}

Net::HTTPHeader#[](key) -> String|nil (325.0)

key ヘッダフィールドを返します。

key ヘッダフィールドを返します。

たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req['user-agent'] # => Ruby
//}

一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て...

Net::HTTPHeader#basic_auth(account, password) -> [String] (325.0)

Authorization: ヘッダを BASIC 認証用にセットします。

Authorization: ヘッダを BASIC 認証用にセットします。

@param account アカウント名を文字列で与えます。
@param password パスワードを文字列で与えます。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.basic_auth("user", "pass") # => ["Basic dXNlcjpwYXNz"]
//}...

Net::HTTPHeader#content_type -> String|nil (325.0)

"text/html" のような Content-Type を表す 文字列を返します。

"text/html" のような Content-Type を表す
文字列を返します。

Content-Type: ヘッダフィールドが存在しない場合には nil を返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/comments.cgi?post=comment')
req = Net::HTTP::Post.new(uri.request_uri)
req.content_type # => nil
req.content_type = 'multipart/for...

絞り込み条件を変える

Net::HTTPHeader#delete(key) -> [String] | nil (325.0)

key ヘッダフィールドを削除します。

key ヘッダフィールドを削除します。

@param key 削除するフィールド名
@return 取り除かれたフィールドの値を返します。
key ヘッダフィールドが存在しなかった場合には
nil を返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.content_length = 10
req.content_length...

Net::HTTPHeader#get_fields(key) -> [String] (325.0)

key ヘッダフィールドの値 (文字列) を配列で返します。

key ヘッダフィールドの値 (文字列) を配列で返します。

たとえばキー 'content-length' に対しては ['2048'] のような
文字列が得られます。一種類のヘッダフィールドが一つのヘッダの中
に複数存在することがありえます。
key は大文字小文字を区別しません。

@param key ヘッダフィール名を文字列で与えます。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
res = Net::HTTP.get_response(ur...

Net::HTTPHeader#main_type -> String|nil (325.0)

"text/html" における "text" のようなタイプを表す 文字列を返します。

"text/html" における "text" のようなタイプを表す
文字列を返します。

Content-Type: ヘッダフィールドが存在しない場合には nil を返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
res = Net::HTTP.get_response(uri)
res.main_type # => "text"
//}

Net::HTTPHeader#method -> String (325.0)

リクエストの HTTP メソッドを文字列で返します。

リクエストの HTTP メソッドを文字列で返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.method # => "GET"
//}

Net::HTTPHeader#proxy_basic_auth(account, password) -> [String] (325.0)

Proxy 認証のために Proxy-Authorization: ヘッダをセットします。

Proxy 認証のために Proxy-Authorization: ヘッダをセットします。

@param account アカウント名を文字列で与えます。
@param password パスワードを文字列で与えます。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.proxy_basic_auth("account", "password") # => ["Ba...

絞り込み条件を変える

Net::HTTPHeader#sub_type -> String|nil (325.0)

"text/html" における "html" のようなサブタイプを表す 文字列を返します。

"text/html" における "html" のようなサブタイプを表す
文字列を返します。

Content-Type: ヘッダフィールドが存在しない場合には nil を返します。

//emlist[例][ruby]{
require 'net/http'

uri = URI.parse('http://www.example.com/index.html')
res = Net::HTTP.get_response(uri)
res.sub_type # => "html"
//}

Net::HTTPResponse#code -> String (325.0)

HTTP のリザルトコードです。例えば '302' などです。

HTTP のリザルトコードです。例えば '302' などです。

この値を見ることでレスポンスの種類を判別できますが、
レスポンスオブジェクトがどのクラスのインスタンスかを
見ることでもレスポンスの種類を判別できます。

//emlist[例][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.code # => "200"
//}

Net::HTTPResponse#http_version -> String (325.0)

サーバがサポートしている HTTP のバージョンを文字列で返します。

サーバがサポートしている HTTP のバージョンを文字列で返します。

//emlist[例][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.http_version # => "1.1"
//}

OpenSSL::X509::Name#to_s(flags=nil) -> String (325.0)

DNの文字列表現を返します。

DNの文字列表現を返します。

flags には通常は以下のいずれかを渡します。
* nil
* OpenSSL::X509::Name::COMPAT
* OpenSSL::X509::Name::RFC2253
* OpenSSL::X509::Name::ONELINE
* OpenSSL::X509::Name::MULTILINE

*
例:
require 'openssl'
n = OpenSSL::X509::Name.parse('/C=JP/ST=Kanagawa/L=Yokohama/O=Example Company/OU=Lab3/CN...

OpenURI::OpenRead#read(options = {}) -> String (325.0)

自身が表す内容を読み込んで文字列として返します。 self.open(options={}) {|io| io.read } と同じです。 このメソッドによって返される文字列は OpenURI::Meta によって extend されています。

自身が表す内容を読み込んで文字列として返します。
self.open(options={}) {|io| io.read } と同じです。
このメソッドによって返される文字列は OpenURI::Meta
によって extend されています。

@param options ハッシュを与えます。

require 'open-uri'
uri = URI.parse('http://www.example.com/')
str = uri.read
p str.is_a?(OpenURI::Meta) # => true
p str.content_type

絞り込み条件を変える

Psych::Nodes::Node#tag -> String | nil (325.0)

ノードに付加されたタグを返します。

ノードに付加されたタグを返します。

タグが付加されていない場合は nil を返します。

ast = Psych.parse(<<EOS)
---
- !!str a
- b
EOS

p ast.root.children[0].value # => "a"
p ast.root.children[0].tag # => "tag:yaml.org,2002:str"

p ast.root.children[1].value # => "b"
p ast.root.children[1].tag # => nil

URI::Generic#fragment -> String | nil (325.0)

自身の fragment を文字列で返します。設定されていない場合は nil を返します。

自身の fragment を文字列で返します。設定されていない場合は nil を返します。

例:
require 'uri'
u = URI.parse('http://example.com/#frgmt')
p u.fragment #=> "frgmt"

URI::Generic#normalize! -> String | nil (325.0)

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと 構成要素がなければ '/' をセットします。

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと
構成要素がなければ '/' をセットします。

例:
require 'uri'
u = URI.parse('http://Example.Com')
p u.to_s #=> "http://Example.Com"
p u.normalize.to_s #=> "http://example.com/"

URI::Generic#query -> String | nil (325.0)

自身の query を文字列で返します。設定されていない場合は nil を返します。

自身の query を文字列で返します。設定されていない場合は nil を返します。

例:
require 'uri'
p URI.parse('http://example.com/?hoge').query #=> "hoge"

URI::Generic#select(*components) -> [String] (325.0)

指定された components に対応する構成要素を文字列の配列として返します。

指定された components に対応する構成要素を文字列の配列として返します。

@param components 構成要素名をシンボルで指定します。

例:
require 'uri'

uri = URI.parse('http://myuser:mypass@my.example.com/test.rbx')
p uri.select(:userinfo, :host, :path)
# => ["myuser:mypass", "my.example.com", "/test.rbx"]

絞り込み条件を変える

URI::Generic#to_s -> String (325.0)

自身が表す URI を文字列として返します。

自身が表す URI を文字列として返します。

例:
require 'uri'
p URI.parse('http://example.com/').to_s #=> "http://example.com/"

URI::HTTP#request_uri -> String (325.0)

自身の「path + '?' + query」を文字列で返します。 query が nil である場合は、自身の path を返します。

自身の「path + '?' + query」を文字列で返します。
query が nil である場合は、自身の path を返します。

path が空である場合には、path は「'/'」であるとします。

例:
require 'uri'
u = URI.parse("http://example.com/search?q=xxx")
p u.request_uri #=> "/search?q=xxx"

URI::MailTo#headers -> [[String]] (325.0)

自身のヘッダーを文字列の配列の配列として設定します。

自身のヘッダーを文字列の配列の配列として設定します。

例:
require 'uri'
m = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
p m.headers #=> [["subject", "subscribe"], ["cc", "myaddr"]]

URI::MailTo#to -> String (325.0)

自身の e-mail アドレスを文字列で返します。

自身の e-mail アドレスを文字列で返します。

例:
require 'uri'
p URI.parse("mailto:nospam@example.com").to #=> "nospam@example.com"

Net::HTTPResponse#read_body {|str| .... } -> () (43.0)

ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。

ブロックを与えなかった場合にはエンティティボディを
文字列で返します。
ブロックを与えた場合には
エンティティボディを少しずつ取得して順次ブロックに
文字列で与えます。

レスポンスがボディを持たない場合には nil を返します。

//emlist[例1 ブロックを与えずに一度に結果取得][ruby]{
require 'net/http'

uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.read_body[0..10] # => "<...

絞り込み条件を変える

URI::Generic#normalize -> URI::Generic (25.0)

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと 構成要素がなければ '/' をセットします。

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと
構成要素がなければ '/' をセットします。

例:
require 'uri'
u = URI.parse('http://Example.Com')
p u.to_s #=> "http://Example.Com"
p u.normalize.to_s #=> "http://example.com/"