モジュール
- Kernel (33)
キーワード
-
$ ~ (11) - % (11)
- =~ (11)
- Marshal フォーマット (11)
-
NEWS for Ruby 2
. 7 . 0 (5) - Numeric (11)
- format (11)
- irb (11)
- mktmpdir (22)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) - sprintf (11)
- sprintf フォーマット (11)
- 演算子式 (11)
検索結果
先頭5件
-
irb (26132.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロン......$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def foo
irb(main):004:2> print 1
irb(main):005:2> end
irb(main):006:1> end......す。
readline ライブラリがインストールされている時には
自動的にコマンドライン編集や履歴の機能が使えるようになります。
=== irb のコマンドラインオプション
irb [options] file_name opts
options:
-f ~/.irbrc を読... -
Regexp
# ~ -> Integer | nil (18225.0) -
変数 $_ の値との間でのマッチをとります。
...ist[][ruby]{
self =~ $_
//}
//emlist[例][ruby]{
$_ = "hogehoge"
if /foo/
puts "match"
else
puts "no match"
end
# => no match
# ただし、警告がでる。warning: regex literal in condition
reg = Regexp.compile("foo")
if ~ reg
puts "match"
else
puts "no match"
end
# => no match
i......f reg
puts "match"
else
puts "no match"
end
# => match
# reg は nil でも false でも無いので常にtrue
//}... -
Dir
. mktmpdir(prefix _ suffix = nil , tmpdir = nil) {|dir| . . . } -> object (9354.0) -
一時ディレクトリを作成します。
...与えられた場合は、ブロックの評価が終わると
作成された一時ディレクトリやその配下にあったファイルを
FileUtils.#remove_entry を用いて削除し、ブロックの値をかえします。
ブロックが与えられなかった場合は、作成した一......mpdir nil の場合は Dir.tmpdir を使用します。
そうでない場合は、そのディレクトリを使用します。
使用例
require 'tmpdir'
puts Dir.tmpdir
# 出力例: 動作環境により出力は異なります。
#=> /cygdrive/c/DOCUME~1/kouya/LOCALS~1/T......p FileTest.directory?(memory_dir) #=> false
dir = Dir.mktmpdir
# ブロックを与えない場合は、ディレクトリは存在する。
begin
File.open("#{dir}/foo", "w") { |fp|
fp.puts "hogehoge"
}
ensure
FileUtils.remove_entry_secure dir
end
p FileTest.direct... -
Dir
. mktmpdir(prefix _ suffix = nil , tmpdir = nil) -> String (9254.0) -
一時ディレクトリを作成します。
...与えられた場合は、ブロックの評価が終わると
作成された一時ディレクトリやその配下にあったファイルを
FileUtils.#remove_entry を用いて削除し、ブロックの値をかえします。
ブロックが与えられなかった場合は、作成した一......mpdir nil の場合は Dir.tmpdir を使用します。
そうでない場合は、そのディレクトリを使用します。
使用例
require 'tmpdir'
puts Dir.tmpdir
# 出力例: 動作環境により出力は異なります。
#=> /cygdrive/c/DOCUME~1/kouya/LOCALS~1/T......p FileTest.directory?(memory_dir) #=> false
dir = Dir.mktmpdir
# ブロックを与えない場合は、ディレクトリは存在する。
begin
File.open("#{dir}/foo", "w") { |fp|
fp.puts "hogehoge"
}
ensure
FileUtils.remove_entry_secure dir
end
p FileTest.direct... -
Regexp
# =~(string) -> Integer | nil (6312.0) -
文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。
...字列 string との正規表現マッチを行います。マッチした場合、
マッチした位置のインデックスを返します(先頭は0)。マッチしなかった
場合、あるいは string が nil の場合には nil を返
します。
//emlist[例][ruby]{
p /foo/ =~ "foo" #......foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}
組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。
文字列のかわりにSymbolをマッチさせることができます。
@param string マッチ対象文字列
@raise Ty......mlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p Regexp.last_match(0) # => "foo"
p /foo/ =~ "afoo" # => 1
p $~[0] # => "foo"
p /foo/ =~ "bar" # => nil
unless /foo/ === "bar"
puts "not match " # => not match
end
str = []
begin
/ugo/ =~ str
rescue TypeError
prin... -
Kernel
$ $ ~ -> MatchData | nil (6206.0) -
現在のスコープで最後に成功したマッチに関する MatchDataオブジェクトです。 Regexp.last_match の別名です。
...目のマッチ ($n) を取り出すためには $~[n] を使います。
この値に代入すると Regexp.last_match や、 $&, $1, $2, ... などの関連する組み込み変数の値が変化します。
MatchData オブジェクトでも nil でもない値を代入しようとすると Type......ます。
この変数はローカルスコープかつスレッドローカルです。
Ruby起動時の初期値は nil です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
p $~[1]
end
#=> "http://example.com"
//}... -
Numeric (6066.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッド......o o - - -
~ | - - o o - - -
=== 丸めメソッドの動作一覧
Numeric#ceil, Numeric#floor, Numeric#round, Numeric#truncate
のふるまいの違いの表です。左......はceil, floor を使用して以下のように定義できます。
//emlist[例][ruby]{
if n > 0 then
n.ceil
else
n.floor
end
//}
また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように
定義できます。
//emlist[][ruby]{
class Numeric
def......| | - o - - -
~ | - o - - -
=== 丸めメソッドの動作一覧
Numeric#ceil, Numeric#floor, Numeric#round, Numeric#truncate
のふるまいの違いの表です。左の実数に... -
sprintf フォーマット (6048.0)
-
sprintf フォーマット === sprintf フォーマット
...sprintf フォーマット === sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること......を表す指示子: d, i, u, b, B, o, x, X,
* 浮動小数点数を表す指示子: f, g, e, E, G
があります
: c
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
引数が数値以外のオブジェクトの場合 to_int メソッドによ......sprintf("%1$d, %1$x, %1$o", 10) #=> "10, a, 12"
//}
状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使
用します。
//emlist[][ruby]{
case ENV['LC_TIME']
when /^ja_JP/
fmt = "%1$d年%2$d月%3$d日"
else
fmt = "%2$02d/%03$2d/%1$02d"
end
p... -
Kernel
. # sprintf(format , *arg) -> String (3248.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
...printf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprin......を表す指示子: d, i, u, b, B, o, x, X,
* 浮動小数点数を表す指示子: f, g, e, E, G
があります
: c
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
引数が数値以外のオブジェクトの場合 to_int メソッドによ......sprintf("%1$d, %1$x, %1$o", 10) #=> "10, a, 12"
//}
状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使
用します。
//emlist[][ruby]{
case ENV['LC_TIME']
when /^ja_JP/
fmt = "%1$d年%2$d月%3$d日"
else
fmt = "%2$02d/%03$2d/%1$02d"
end
p... -
String
# %(args) -> String (3220.0) -
printf と同じ規則に従って args をフォーマットします。
...printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@retu......を表す指示子: d, i, u, b, B, o, x, X,
* 浮動小数点数を表す指示子: f, g, e, E, G
があります
: c
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
引数が数値以外のオブジェクトの場合 to_int メソッドによ......sprintf("%1$d, %1$x, %1$o", 10) #=> "10, a, 12"
//}
状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使
用します。
//emlist[][ruby]{
case ENV['LC_TIME']
when /^ja_JP/
fmt = "%1$d年%2$d月%3$d日"
else
fmt = "%2$02d/%03$2d/%1$02d"
end
p...