るりまサーチ

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

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. float >
  4. module >
  5. complex >

クラス

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

Method#>>(callable) -> Proc (24232.0)

self と引数を合成した Proc を返します。

...の順序が逆になります。

@
param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。

//emlist[例][ruby]{
def f(x)
x * x
end

def g(x)
x + x
end

# (3 * 3) + (3 * 3)
p (method(:f) >> method(:g)).call(3) # => 18
//}

//emlist[call を定義...
...uby]{
class WordScanner
def self.call(str)
str.scan(/\w+/)
end
end

File.write('testfile', <<~TEXT)
Hello, World!
Hello, Ruby!
TEXT

pipeline = File.method(:read) >> WordScanner >> method(:pp)
pipeline.call('testfile') # => ["Hello", "World", "Hello", "Ruby"]
//}

@
see Proc#<<, Proc#>>...

Proc#>>(callable) -> Proc (24232.0)

self と引数を合成した Proc を返します。

...出しの順序が逆になります。

@
param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。

//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }

# (3 * 3) + (3 * 3)
p (f >> g).call(3) # => 18
//}

//emlist[call を定義したオ...
...anner
def self.call(str)
str.scan(/\w+/)
end
end

File.write('testfile', <<~TEXT)
Hello, World!
Hello, Ruby!
TEXT

pipeline = proc { |fname| File.read(fname) } >> WordScanner >> method(:p)
pipeline.call('testfile') # => ["Hello", "World", "Hello", "Ruby"]
//}

@
see Method#<<, Method#>>...

Process::Status#>>(num) -> Integer (24230.0)

self.to_i >> num と同じです。

...self.to_i >> num と同じです。

@
param num 整数を指定します。

fork { exit 99 } #=> 26563
Process.wait #=> 26563
$?.to_i #=> 25344
$? >> 8 #=> 99...

Bignum#>>(bits) -> Fixnum | Bignum (24220.0)

シフト演算子。bits だけビットを右にシフトします。

...フトします。

右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。

@
param bits シフトさせるビット数

printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1...

Fixnum#>>(bits) -> Fixnum | Bignum (24220.0)

シフト演算子。bits だけビットを右にシフトします。

...フトします。

右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。

@
param bits シフトさせるビット数

printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1...

絞り込み条件を変える

Integer#>>(bits) -> Integer (24220.0)

シフト演算子。bits だけビットを右にシフトします。

...、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。

@
param bits シフトさせるビット数

//emlist[][ruby]{
printf("%#b\n", 0b0101 >> 1) # => 0b10
p -1 >> 1 # => -1
//}...

Integer#[](nth) -> Integer (204.0)

nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。

...を返します。

@
param nth 何ビット目を指すかの数値
@
param len 何ビット分を返すか
@
param range 返すビットの範囲
@
return self[nth] は 1 か 0
@
return self[i, len] は (n >> i) & ((1 << len) - 1) と同じ
@
return self[i..j] は (n >> i) & ((1 << (j -...
...i + 1)) - 1) と同じ
@
return self[i...j] は (n >> i) & ((1 << (j - i)) - 1) と同じ
@
return self[i..] は (n >> i) と同じ
@
return self[..j] は n & ((1 << (j + 1)) - 1) が 0 なら 0
@
return self[...j] は n & ((1 << j) - 1) が 0 なら 0
@
raise ArgumentError self[..j] で...
...j + 1)) - 1) が 0 以外のとき
@
raise ArgumentError self[...j] で n & ((1 << j) - 1) が 0 以外のとき

//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010

a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010...

Integer#[](nth, len) -> Integer (204.0)

nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。

...を返します。

@
param nth 何ビット目を指すかの数値
@
param len 何ビット分を返すか
@
param range 返すビットの範囲
@
return self[nth] は 1 か 0
@
return self[i, len] は (n >> i) & ((1 << len) - 1) と同じ
@
return self[i..j] は (n >> i) & ((1 << (j -...
...i + 1)) - 1) と同じ
@
return self[i...j] は (n >> i) & ((1 << (j - i)) - 1) と同じ
@
return self[i..] は (n >> i) と同じ
@
return self[..j] は n & ((1 << (j + 1)) - 1) が 0 なら 0
@
return self[...j] は n & ((1 << j) - 1) が 0 なら 0
@
raise ArgumentError self[..j] で...
...j + 1)) - 1) が 0 以外のとき
@
raise ArgumentError self[...j] で n & ((1 << j) - 1) が 0 以外のとき

//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010

a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010...

Integer#[](range) -> Integer (204.0)

nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。

...を返します。

@
param nth 何ビット目を指すかの数値
@
param len 何ビット分を返すか
@
param range 返すビットの範囲
@
return self[nth] は 1 か 0
@
return self[i, len] は (n >> i) & ((1 << len) - 1) と同じ
@
return self[i..j] は (n >> i) & ((1 << (j -...
...i + 1)) - 1) と同じ
@
return self[i...j] は (n >> i) & ((1 << (j - i)) - 1) と同じ
@
return self[i..] は (n >> i) と同じ
@
return self[..j] は n & ((1 << (j + 1)) - 1) が 0 なら 0
@
return self[...j] は n & ((1 << j) - 1) が 0 なら 0
@
raise ArgumentError self[..j] で...
...j + 1)) - 1) が 0 以外のとき
@
raise ArgumentError self[...j] で n & ((1 << j) - 1) が 0 以外のとき

//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010

a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010...

Module#prepend(*modules) -> self (162.0)

指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。

...ます。そのため、prepend_features を override することで
prepend の処理を追加/変更できます。


@
param modules prepend する Module を指定します
@
see Module#prepend_features, Module#prepended

//emlist[例][ruby]{
# super と prepend の組み合わせの例
module X...
...def foo
puts "A" #(1a)
end
end

A.new.foo
# (1x) (2x)(ここの super で A#foo を呼びだす) (1a) (3x) の順に実行される
# >> X1
# >> A
# >> X2

# 2つのモジュールを X, Y を prepend X, Y という順で指定したもの
module Y
def foo
puts "Y1" #(1y)
super #(2...
...)
end
end

B.new.foo
# (1x) (2x) (1y) (2y) (1b) (3y) (3x) の順に実行される
# X#foo のほうが Y#foo より継承チェインの手前側にあり、そちらが優先される
# >> X1
# >> Y1
# >> B
# >> Y2
# >> X2
# prepend Y, X とすると Y1 X1 B X2 Y2 の順で表示される
//}...
...b)
end
end

B.new.foo
# (1x) (2x) (1y) (2y) (1b) (3y) (3x) の順に実行される
# X#foo のほうが Y#foo より継承チェインの手前側にあり、そちらが優先される
# >> X1
# >> Y1
# >> B
# >> Y2
# >> X2
# prepend Y, X とすると Y1 X1 B X2 Y2 の順で表示される
//}...

絞り込み条件を変える

RubyVM::InstructionSequence.compile(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequence (144.0)

引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。

...クトを作成して返します。

@
param source Ruby のソースコードを文字列で指定します。

@
param file ファイル名を文字列で指定します。

@
param path 引数 file の絶対パスファイル名を文字列で指定します。

@
param line 引数 source の 1 行...
...かで指定します。詳細は
RubyVM::InstructionSequence.compile_option= を参照
してください。

RubyVM::InstructionSequence.compile("a = 1 + 2")
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>

@
see RubyVM::InstructionSequence.compile_file...

RubyVM::InstructionSequence.new(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequence (144.0)

引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。

...クトを作成して返します。

@
param source Ruby のソースコードを文字列で指定します。

@
param file ファイル名を文字列で指定します。

@
param path 引数 file の絶対パスファイル名を文字列で指定します。

@
param line 引数 source の 1 行...
...かで指定します。詳細は
RubyVM::InstructionSequence.compile_option= を参照
してください。

RubyVM::InstructionSequence.compile("a = 1 + 2")
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>

@
see RubyVM::InstructionSequence.compile_file...

String#gsub(pattern, replace) -> String (143.0)

文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。

...
これらは $`、$'、$+ に対応します。

@
param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@
param replace pattern で指定した文字列と置...
...

//emlist[例][ruby]{
p 'abcdefg'.gsub(/def/, '!!') # => "abc!!g"
p 'abcabc'.gsub(/b/, '<<\&>>') # => "a<<b>>ca<<b>>c"
p 'xxbbxbb'.gsub(/x+(b+)/, 'X<<\1>>') # => "X<<bb>>X<<bb>>"
p '2.5'.gsub('.', ',') # => "2,5"
//}

注意:

第 2 引数 replace に $1 を埋め込んでも...
...'.gsub(/x(b+)/, "#{$1}") # => "-" # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\1") # => "1-1" # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\\1") # => "bbb-bbb" # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\1') # => "bbb-bbb" # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\\1') # => "bbb-bbb" # OK
//}

//emlis...

String#sub(pattern, replace) -> String (136.0)

文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。

...
これらは $`、$'、$+ に対応します。

@
param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@
param replace pattern で指定した文字列と置...
...き換える文字列

//emlist[例][ruby]{
p 'abcdefg'.sub(/def/, '!!') # => "abc!!g"
p 'abcabc'.sub(/b/, '<<\&>>') # => "a<<b>>cabc"
p 'xxbbxbb'.sub(/x+(b+)/, 'X<<\1>>') # => "X<<bb>>xbb"
//}

注意:

第 2 引数 replace に $1 を埋め込んでも意図した結果にはな...
...b'.sub(/x(b+)/, "#{$1}") # => "-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\1") # => "1-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\\1") # => "bbb-xbbb" # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\1') # => "bbb-xbbb" # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\\1') # => "bbb-xbbb" # OK
//}

//emli...
<< 1 2 3 ... > >>