るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

<< < 1 2 3 4 ... > >>

RubyVM::InstructionSequence#disassemble -> String (3007.0)

self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。

...self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。

puts
RubyVM::InstructionSequence.compile('1 + 2').disasm

出力:

== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1...
...( 1)
0002 putobject 1
0004 putobject 2
0006 opt_plus <ic:1>
0008 leave

@see RubyVM::InstructionSequence.disasm...

RubyVM::InstructionSequence#path -> String (3007.0)

self が表す命令シーケンスの相対パスを返します。

...= RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"

例2: RubyVM::InstructionSequence.compile_file を使用した場合

# /tmp/method.rb
def hello
puts
"hello, world"
end

# irb
> iseq = Ruby...
...VM::InstructionSequence.compile_file('method.rb')
> iseq.path # => "method.rb"

@see RubyVM::InstructionSequence#absolute_path...

TracePoint#instruction_sequence -> RubyVM::InstructionSequence (113.0)

script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。

...にコンパイルされた
Ruby
VM::InstructionSequenceインスタンスを返します。

//emlist[例][ruby]{
TracePoint.new(:script_compiled) do |tp|
p tp.instruction_sequence # => <RubyVM::InstructionSequence:block in <main>@(eval):1>
end.enable do
eval("puts 'hello'")
end
//}

@raise Runt...

Array#to_csv(**options) -> String (67.0)

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

...す。

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

p [1, 'Matz', :Ruby, Date.new(1965, 4, 14)].to_csv # => "1,Matz,Ruby,1965-04-14\n"
p [1, 'Matz', :Ruby, Date.new(1965, 4, 14)].to_csv(col_sep: ' ', row_sep: "\r\n") # => "1 Matz Ruby 1965-04-14\r\n"
//}

Ruby
3.0 (CSV 3.1.9)...
...使えるようになりました。

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

puts
[1, nil].to_csv # => 1,
puts
[1, nil].to_csv(write_nil_value: "N/A") # => 1,N/A
puts
[2, ""].to_csv # => 2,""
puts
[2, ""].to_csv(write_empty_value: "BLANK") # =>...

Object#respond_to?(name, include_all = false) -> bool (67.0)

オブジェクトがメソッド name を持つとき真を返します。

...します。

※ NotImplementedError が発生する場合に false を返すのは
Ruby
の組み込みライブラリや標準ライブラリなど、C言語で実装されているメソッドのみです。
Ruby
で実装されたメソッドで NotImplementedError が発生する場合は true...
...になります。

//emlist[][ruby]{
class F
def hello
"Bonjour"
end
end

class D
private
def hello
"Guten Tag"
end
end
list = [F.new,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,...
...uten Tag

module Template
def main
start
template_method
finish
end

def start
puts
"start"
end

def template_method
raise NotImplementedError.new
end

def finish
puts
"finish"
end
end

class ImplTemplateMethod
include Template
def template_method
"imp...

絞り込み条件を変える

Encoding::Converter#convert(source_string) -> String (61.0)

与えられた文字列を変換して、変換できた結果を返します。 引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。 変換を終了させるには Encoding::Converter#finish を呼びます。

...][ruby]{
ec = Encoding::Converter.new("utf-8", "euc-jp")
puts
ec.convert("\u3042").dump #=> "\xA4\xA2"
puts
ec.finish.dump #=> ""

ec = Encoding::Converter.new("euc-jp", "utf-8")
puts
ec.convert("\xA4").dump #=> ""
puts
ec.convert("\xA2").dump #=> "\xE3\x81\x82"
puts
e...
...onverter.new("utf-8", "iso-2022-jp")
puts
ec.convert("\xE3").dump #=> "".force_encoding("ISO-2022-JP")
puts
ec.convert("\x81").dump #=> "".force_encoding("ISO-2022-JP")
puts
ec.convert("\x82").dump #=> "\e$B$\"".force_encoding("ISO-2022-JP")
puts
ec.finish.dump #=> "...

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

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

...場合は全く同じ文字列にだけマッチする
@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<<...
...二重にエスケープしなければなりません。

//emlist[ひとつめの括弧の内容に置き換えるときによくある間違い][ruby]{
p 'xbbb-xbbb'.gsub(/x(b+)/, "#{$1}") # => "-" # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\1") # => "1-1" # NG
p 'xbbb-xbbb'.gsub(/x(b+)...
...バックスラッシュを倍にするときによくある間違い][ruby]{
puts
'\n'.gsub(/\\/, "\\\\") # => \n # NG
puts
'\n'.gsub(/\\/, '\\\\') # => \n # NG
puts
'\n'.gsub(/\\/, "\\\\\\\\") # => \\n # OK
puts
'\n'.gsub(/\\/, '\\\\\\\\') # => \\n # OK
//}

このような間違...

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

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

...場合は全く同じ文字列にだけマッチする
@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>>')...
...二重にエスケープしなければなりません。

//emlist[ひとつめの括弧の内容に置き換えるときによくある間違い][ruby]{
p 'xbbb-xbbb'.sub(/x(b+)/, "#{$1}") # => "-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\1") # => "1-xbbb" # NG
p 'xbbb-xbbb'.sub(/x(b+)/...
...t[バックスラッシュを倍にするときによくある間違い][ruby]{
puts
'\n'.sub(/\\/, "\\\\") # => \n # NG
puts
'\n'.sub(/\\/, '\\\\') # => \n # NG
puts
'\n'.sub(/\\/, "\\\\\\\\") # => \\n # OK
puts
'\n'.sub(/\\/, '\\\\\\\\') # => \\n # OK
//}

このような間違...

Object#===(other) -> bool (55.0)

case 式で使用されるメソッドです。d:spec/control#case も参照してください。

...[][ruby]{
age = 12
# (0..2).===(12), (3..6).===(12), ... が実行される
result =
case age
when 0 .. 2
"baby"
when 3 .. 6
"little child"
when 7 .. 12
"child"
when 13 .. 18
"youth"
else
"adult"
end

puts
result #=> "child"

def check arg
case arg
when /ruby(?!...
...Instance of String class. But don't hit."
else
"unknown"
end
end

puts
check([]) #=> unknown
puts
check("mash-up in Ruby on Rails") #=> instance of String class. But not hit...
puts
check("<Ruby's world>") #=> hit! <Ruby's world>
//}

@see Object#==, Range#===, Module#===, Regexp#===, Enumer...

Regexp#match(str, pos = 0) -> MatchData | nil (55.0)

指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。

...t[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) # => ["b", "r"]
//}

pos を指定しても MatchData#offset 等の結果
には影響しません。つまり、
//emlist[][ruby]{
re.match(str[pos..-1])
//}

//emlist[][ruby]{
re....
...実行されます。
マッチした場合はブロックの値を返し、マッチしなかった場合は nil を返します。

//emlist[例][ruby]{
results = []
/((.)\2)/.match("foo") {|m| results << m[0] } # => ["oo"]
/((.)\2)/.match("bar") {|m| results << m[0] } # => nil
results # => ["oo"...
...マッチの開始位置を pos から行うよう制御できます(pos のデフォルト値は 0)。

//emlist[例][ruby]{
reg = Regexp.new("foo")

if reg.match("foobar")
puts
"match"
end
# => match

p reg.match("foobar") # => #<MatchData:0x29403fc>
p reg.match("bar") # => nil

p /(foo)(bar)...

絞り込み条件を変える

Regexp#match(str, pos = 0) {|m| ... } -> object | nil (55.0)

指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。

...t[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) # => ["b", "r"]
//}

pos を指定しても MatchData#offset 等の結果
には影響しません。つまり、
//emlist[][ruby]{
re.match(str[pos..-1])
//}

//emlist[][ruby]{
re....
...実行されます。
マッチした場合はブロックの値を返し、マッチしなかった場合は nil を返します。

//emlist[例][ruby]{
results = []
/((.)\2)/.match("foo") {|m| results << m[0] } # => ["oo"]
/((.)\2)/.match("bar") {|m| results << m[0] } # => nil
results # => ["oo"...
...マッチの開始位置を pos から行うよう制御できます(pos のデフォルト値は 0)。

//emlist[例][ruby]{
reg = Regexp.new("foo")

if reg.match("foobar")
puts
"match"
end
# => match

p reg.match("foobar") # => #<MatchData:0x29403fc>
p reg.match("bar") # => nil

p /(foo)(bar)...
<< < 1 2 3 4 ... > >>