クラス
-
ARGF
. class (99) - Array (77)
- BasicObject (55)
- Class (11)
- Data (2)
- Dir (11)
-
Encoding
:: Converter (22) -
Encoding
:: InvalidByteSequenceError (11) - Enumerator (33)
-
Enumerator
:: Lazy (10) - File (11)
- IO (44)
- Integer (22)
- Method (11)
- Module (88)
- Object (134)
- Proc (6)
- Range (6)
- Regexp (44)
-
RubyVM
:: AbstractSyntaxTree :: Node (6) -
RubyVM
:: InstructionSequence (66) - String (106)
- Thread (36)
-
Thread
:: Backtrace :: Location (44) -
Thread
:: ConditionVariable (18) -
Thread
:: Queue (27) -
Thread
:: SizedQueue (27) - ThreadGroup (11)
- TracePoint (12)
- UnboundMethod (10)
モジュール
- Enumerable (66)
キーワード
- ! (11)
- != (11)
- << (6)
- === (28)
- =~ (11)
- [] (11)
-
absolute
_ path (22) - add (11)
-
alias
_ method (11) -
base
_ label (22) -
bind
_ call (10) - broadcast (9)
- convert (11)
- cycle (44)
-
deconstruct
_ keys (2) - deq (18)
- disasm (11)
- disassemble (11)
- dump (7)
- each (66)
-
each
_ line (44) -
enum
_ for (22) - eof (11)
- eof? (11)
-
error
_ bytes (11) -
eval
_ script (6) - fetch (33)
- flock (11)
- gsub (44)
-
ignore
_ deadlock= (3) - inherited (11)
- initialize (11)
-
initialize
_ copy (11) -
insert
_ output (11) - inspect (28)
-
instruction
_ sequence (6) - label (11)
- match (22)
-
max
_ by (44) -
method
_ added (11) -
method
_ removed (11) -
method
_ undefined (11) - next (11)
- path (11)
- pid (11)
- pop (18)
- prepend (11)
- prepended (11)
-
public
_ send (22) - read (11)
- refine (11)
-
respond
_ to? (11) - run (11)
- shift (18)
- signal (9)
-
singleton
_ method _ added (11) -
singleton
_ method _ removed (11) -
singleton
_ method _ undefined (11) -
source
_ location (11) - sub (33)
- taint (6)
- tap (7)
- times (22)
-
to
_ enum (22) -
to
_ s (22) -
undef
_ method (11) - upto (11)
- wakeup (11)
-
with
_ index (10) -
with
_ object (22)
検索結果
先頭5件
-
IO
# puts(*obj) -> nil (18162.0) -
各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。
...いは Kernel.#puts と同じです。詳細はこちらを参照し
てください。
@param obj 出力したいオブジェクトを指定します。Kernel.#puts と同じです。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::E......XXX 出力に失敗した場合に発生します。
$stdout.puts("this", "is", "a", "test", [1, [nil, 3]])
#=>
this
is
a
test
1
3
@see Kernel.#puts... -
ARGF
. class # puts(*arg) -> nil (18116.0) -
引数と改行を順番に処理対象のファイルに出力します。 引数がなければ改行のみを出力します。
...力します。
引数がなければ改行のみを出力します。
c:ARGF#inplace時にのみ使用できます。
また $stdout への代入の影響を受けません。
それ以外は Kernel.#puts と同じです。
@param arg 出力するオブジェクトを任意個指定します。... -
Encoding
:: Converter # convert(source _ string) -> String (81.0) -
与えられた文字列を変換して、変換できた結果を返します。 引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。 変換を終了させるには Encoding::Converter#finish を呼びます。
...たい場合は、Encoding::Converter#primitive_convert を用います。
@param source_string 変換する文字列の一部または全部です。
@return 変換結果である文字列の一部または全部です。
@raise Encoding::InvalidByteSequenceError 変換元のエンコーディン......発生します。
@raise Encoding::UndefinedConversionError 変換先のエンコーディングで未定義な文字があった場合に発生します。
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "euc-jp")
puts ec.convert("\u3042").dump #=> "\xA4\xA2"
puts ec.finish.dump......uc-jp", "utf-8")
puts ec.convert("\xA4").dump #=> ""
puts ec.convert("\xA2").dump #=> "\xE3\x81\x82"
puts ec.finish.dump #=> ""
ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
puts ec.convert("\xE3").dump #=> "".force_encoding("ISO-2022-JP")
puts ec.convert("\x... -
Object
# respond _ to?(name , include _ all = false) -> bool (63.0) -
オブジェクトがメソッド name を持つとき真を返します。
...義されていない場合は、Object#respond_to_missing? を呼
び出してその結果を返します。
@param name Symbol または文字列で指定するメソッド名です。
@param include_all private メソッドと protected メソッドを確認の対象に
含......D.new]
list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour
list.each{|it| it.instance_eval("puts hello if it.respond_to?(:hello, true)")}
#=> Bonjour
# Guten Tag
module Template
def main
start
template_method
finish
end
def start
puts "start"
end
def......mentedError.new
end
def finish
puts "finish"
end
end
class ImplTemplateMethod
include Template
def template_method
"implement template_method"
end
end
class NotImplTemplateMethod
include Template
# not implement template_method
end
puts ImplTemplateMethod.new.respond_to?... -
Object
# initialize(*args , &block) -> object (57.0) -
ユーザ定義クラスのオブジェクト初期化メソッド。
...す。
@param args 初期化時の引数です。
@param block 初期化時のブロック引数です。必須ではありません。
//emlist[][ruby]{
class Foo
def initialize name
puts "initialize Foo"
@name = name
end
end
class Bar < Foo
def initialize name, pass
puts "init......ialize Bar"
super name
@pass = pass
end
end
it = Bar.new('myname','0500')
p it
#=> initialize Bar
# initialize Foo
# #<Bar:0x2b68f08 @name="myname", @pass="0500">
//}
@see Class#new... -
String
# gsub(pattern , replace) -> String (56.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
...。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した文字列と置......ックスラッシュを倍にするときによくある間違い][ruby]{
puts '\n'.gsub(/\\/, "\\\\") # => \n # NG
puts '\n'.gsub(/\\/, '\\\\') # => \n # NG
puts '\n'.gsub(/\\/, "\\\\\\\\") # => \\n # OK
puts '\n'.gsub(/\\/, '\\\\\\\\') # => \\n # OK
//}
このような間違い......可読性を上げるには、
\& や \1 よりも下記のようにブロック付き形式の gsub を使うべきです。
//emlist[][ruby]{
p 'xbbb-xbbb'.gsub(/x(b+)/) { $1 } # => "bbb-bbb" # OK
puts '\n'.gsub(/\\/) { '\\\\' } # => \\n # OK
//}
@see String#sub, String#gsub!... -
String
# sub(pattern , replace) -> String (55.0) -
文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。
...。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した文字列と置......ックスラッシュを倍にするときによくある間違い][ruby]{
puts '\n'.sub(/\\/, "\\\\") # => \n # NG
puts '\n'.sub(/\\/, '\\\\') # => \n # NG
puts '\n'.sub(/\\/, "\\\\\\\\") # => \\n # OK
puts '\n'.sub(/\\/, '\\\\\\\\') # => \\n # OK
//}
このような間違いを......の可読性を上げるには、
\& や \1 よりも下記のようにブロック付き形式の sub を使うべきです。
//emlist[安全な例][ruby]{
p 'xbbb-xbbb'.sub(/x(b+)/) { $1 } # => "bbb-xbbb" # OK
puts '\n'.sub(/\\/) { '\\\\' } # => \\n # OK
//}
@see String#gsub... -
File
# flock(operation) -> 0 | false (51.0) -
ファイルをロックします。
...になります。
@param operation ロックに対する操作の種類を示す定数を指定します。
どのような定数が利用可能かは以下を参照して下さい。
@raise IOError 自身が close されている場合に発生します。
@raise Errno::EXXX op......File.open("/tmp/foo", "w")
f.flock(File::LOCK_EX)
puts "locked by process1"
fork {
f = File.open("/tmp/foo", "r")
f.flock(File::LOCK_SH)
puts "locked by process2"
sleep 5
puts "unlocked by process2"
}
sleep 5
f.flock(File::LOCK_UN)
puts "unlocked by process1"
sleep 1 # <- 子プロセ......スが確実に先にロックするための sleep
f.flock(File::LOCK_EX)
puts "re-locked by process1"
# => locked by process1
# unlocked by process1
# locked by process2
# unlocked by process2
# re-locked by process1
//}... -
Module
# prepend(*modules) -> self (51.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
...を追加/変更できます。
@param modules prepend する Module を指定します
@see Module#prepend_features, Module#prepended
//emlist[例][ruby]{
# super と prepend の組み合わせの例
module X
def foo
puts "X1" # (1x)
super # (2x)
puts "X2" # (3x)
end
end
class A......のモジュールを X, Y を prepend X, Y という順で指定したもの
module Y
def foo
puts "Y1" #(1y)
super #(2y)
puts "Y2" #(3y)
end
end
class B
prepend X, Y
def foo
puts "B" # (1b)
end
end
B.new.foo
# (1x) (2x) (1y) (2y) (1b) (3y) (3x) の順に実行される... -
Enumerator
# next -> object (45.0) -
「次」のオブジェクトを返します。
...伴っている場合には影響があり得ます。
@raise StopIteration 列挙状態が既に最後へ到達しているとき
@see Enumerator#rewind
//emlist[例1][ruby]{
str = "xyz"
enum = str.each_byte
str.bytesize.times do
puts enum.next
end
# => 120
# 121
# 122
//}......//emlist[例2][ruby]{
str = "xyz"
enum = str.each_byte
begin
puts enum.next while true
rescue StopIteration
puts "iteration reached at end"
end
# => 120
# 121
# 122
# iteration reached at end
puts enum.next
#=> 再度 StopIteration 例外が発生
//}
//emlist[例3......: Kernel.#loop は StopIteration を捕捉します。][ruby]{
str = "xyz"
enum = str.each_byte
loop do
puts enum.next
end
# => 120
# 121
# 122
//}...