るりまサーチ

最速Rubyリファレンスマニュアル検索!
1107件ヒット [101-200件を表示] (0.054秒)
トップページ > クエリ:ruby[x] > クエリ:Ruby[x] > 種類:クラス[x]

別のキーワード

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

ライブラリ

キーワード

検索結果

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

Errno::EXXX (93.0)

システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。

...システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。
Ruby
のライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。

実際には「EXXX」というクラスが定義されているわけでは...
...Rubyは例外 Errno::ENOENT を発生させます。

Ruby
は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
動作環境に EXXX というエラーコードが存在しない場合、Rubyはそ...
...ラー番号を表す 3 桁の数字)
という名前の例外クラスが自動的に作成され、発生します。
(これは Ruby 内部でのみ行われ、 Ruby プログラム上で SystemCallError.new に一覧にないコードを渡してもクラスは作成されません)

それぞ...

Ripper::Filter (93.0)

イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。

...ブンスタイルで Ruby プログラムを加工するためのクラスです。

このクラスを継承して、必要なイベントに対応するメソッドを定義して使用し
ます。

=== 使用例

//emlist[][ruby]{
require 'ripper'
require 'cgi'

class
Ruby2HTML < Ripper::Filter...
...f << %Q[<span class="comment">#{CGI.escapeHTML(tok)}</span>]
end

def on_tstring_beg(tok, f)
f << %Q[<span class="string">#{CGI.escapeHTML(tok)}]
end

def on_tstring_end(tok, f)
f << %Q[#{CGI.escapeHTML(tok)}</span>]
end
end

Ruby
2HTML.new(ARGF).parse('')
//}

Ruby
プログラ...
...イベントを実行します。イベントはプログラムに書いた順番で実行されます。

上記の例では、parse メソッドに渡した空文字列を初期値として、イベントハ
ンドラが ARGF で渡された Ruby プログラムを HTML にして返します。...

Numeric (85.0)

数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。

...覧です。実際にどのメソッドがどのクラスに定義されているかはそれぞ
れのクラスを参照してください。


=> ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin15]
Numeric Integer Float Rational Complex
-------...
...のように定義できます。

//emlist[例][ruby]{
if n > 0 then
n.ceil
else
n.floor
end
//}

また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように
定義できます。

//emlist[][ruby]{
class
Numeric
def roundup(d=0)
x = 10**d
if se...
...題を
考えれば、被除数や除数が整数でなくてもよいことが分かります。

//emlist[例: Float の世界の整商と剰余][ruby]{
p 2.5.divmod(0.75) # => [3, 0.25]
# 2.5 メートルの紐から 0.75 メートルの紐が 3 本取れて 0.25 メートル余る
//}

ただし...

Range (85.0)

範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。

...[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 # 1 以上 5 未満
//}

この例で分かるように、範囲オブジェクトは終端を含む範囲も含まない範囲も表せます。

Ruby
2.6.0 からは、終端に nil...
...ない範囲オブジェクト」
を作ることができるようになりました。

//emlist[終端を持たない範囲オブジェクト][ruby]{
p Range.new(1, nil) # 1 以上(上限無し)を表す
p(1..nil) # 同上
p(1..) # 同上(略した書き方)
//}


=...
...の範囲に
含まれるか否かを判定する」ということがあります。

//emlist[値が範囲に含まれるかどうかを判定][ruby]{
p (1..5).cover?(6) # => false
p (1..5).cover?(5) # => true
p (1...5).cover?(5) # => false
//}

Range#cover? メソッドでの判定には演算...

WIN32OLE (81.0)

OLEオートメーションサーバをRubyで操作するためのクラスです。

...OLEオートメーションサーバをRubyで操作するためのクラスです。

Windowsの多くのアプリケーションやライブラリは、COMと呼ばれるAPI群を利用
して他のプログラムから操作できます。WIN32OLEがサポートしているのは、
COMのAPIの...
...は、OLEオートメーションサーバが提供するメソッドやプ
ロパティ(Rubyの属性に対応)をスクリプトから呼び出す手段を提供します。
呼び出しには、Rubyのオブジェクトと同様にオブジェクトに続けて「.」とメソッ
ド名、必...
...ものではあり
ません。

WIN32OLEはシングルスレッドモードでCOMとインターフェイスします。このため、
ruby
1.9以降のRubyのThreadとネイティブスレッドが1対1で対応する実行環境
ではスレッドをまたがる呼び出しはエラーとなり...

絞り込み条件を変える

Thread::Backtrace::Location (69.0)

Ruby のフレームを表すクラスです。

...Ruby のフレームを表すクラスです。

Kernel.#caller_locations から生成されます。

//emlist[例1][ruby]{
# caller_locations.rb
def a(skip)
caller_locations(skip)
end
def b(skip)
a(skip)
end
def c(skip)
b(skip)
end

c(0..2).map do |call|
puts call.to_s
end
//}

例1の実...
...行結果:

caller_locations.rb:2:in `a'
caller_locations.rb:5:in `b'
caller_locations.rb:8:in `c'

//emlist[例2][ruby]{
# foo.rb
class
Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end

Foo.new(0..2).locations.map do |call|
puts call.to...
..._s
end
//}

例2の実行結果:

init.rb:4:in `initialize'
init.rb:8:in `new'
init.rb:8:in `<main>'

=== 参考

* Ruby VM アドベントカレンダー #4 vm_backtrace.c: https://www.atdot.net/~ko1/diary/201212.html#d4...

Fiber (61.0)

ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。

...ストを切り替えた時点で解消されます。

ファイバーが終了するとその親にコンテキストが切り替わります。

Ruby
3.1 から fiber を require しなくても、
コンテキストの切り替えに制限のない Fiber#transfer が使えます。
任意のフ...
...きます。

=== 例外

ファイバー実行中に例外が発生した場合、親ファイバーに例外が伝播します。

//emlist[例:][ruby]{
f = Fiber.new do
raise StandardError, "hoge"
end

begin
f.resume # ここでも StandardError が発生する。
rescue => e
p e.message #...
...と親にコンテキストを切り替えます。
Fiber.yield の引数が、親での Fiber#resume の返り値になります。
//emlist[例:][ruby]{
f = Fiber.new do
n = 0
loop do
Fiber.yield(n)
n += 1
end
end

5.times do
p f.resume
end

#=> 0
1
2
3
4
//}

以下...

Numeric (61.0)

数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。

...覧です。実際にどのメソッドがどのクラスに定義されているかはそれぞ
れのクラスを参照してください。


=> ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
Numeric Integer Fixnum Bignum Float Rational C...
...のように定義できます。

//emlist[例][ruby]{
if n > 0 then
n.ceil
else
n.floor
end
//}

また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように
定義できます。

//emlist[][ruby]{
class
Numeric
def roundup(d=0)
x = 10**d
if se...
...題を
考えれば、被除数や除数が整数でなくてもよいことが分かります。

//emlist[例: Float の世界の整商と剰余][ruby]{
p 2.5.divmod(0.75) # => [3, 0.25]
# 2.5 メートルの紐から 0.75 メートルの紐が 3 本取れて 0.25 メートル余る
//}

ただし...
...覧です。実際にどのメソッドがどのクラスに定義されているかはそれぞ
れのクラスを参照してください。


=> ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin15]
Numeric Integer Float Rational Complex
-------...

Range (61.0)

範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。

...d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。

//emlist[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 # 1 以上 5 未満
//}

この例で分かるように、範囲オ...
...の範囲に
含まれるか否かを判定する」ということがあります。

//emlist[値が範囲に含まれるかどうかを判定][ruby]{
p (1..5).cover?(6) # => false
p (1..5).cover?(5) # => true
p (1...5).cover?(5) # => false
//}

Range#cover? メソッドでの判定には演算...
...もう一つの基本的機能は繰り返しの範囲を表すことです。

//emlist[繰り返しの範囲を範囲オブジェクトで表す][ruby]{
(3..5).each{ |i| p i }
# => 3
# 4
# 5

(3...5).each{ |i| p i }
# => 3
# 4
//}

繰り返しの範囲を表す範囲オブジェクトは...

Fiber (49.0)

ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。

...きます。

=== 例外

ファイバー実行中に例外が発生した場合、親ファイバーに例外が伝播します。

//emlist[例:][ruby]{
f = Fiber.new do
raise StandardError, "hoge"
end

begin
f.resume # ここでも StandardError が発生する。
rescue => e
p e.message #...
...と親にコンテキストを切り替えます。
Fiber.yield の引数が、親での Fiber#resume の返り値になります。
//emlist[例:][ruby]{
f = Fiber.new do
n = 0
loop do
Fiber.yield(n)
n += 1
end
end

5.times do
p f.resume
end

#=> 0
1
2
3
4
//}

以下...
...テレータを外部イテレータに変換する例です。
実際 Enumerator は Fiber を用いて実装されています。

//emlist[例:][ruby]{
def enum2gen(enum)
Fiber.new do
enum.each{|i|
Fiber.yield(i)
}
end
end

g = enum2gen(1..100)

p g.resume #=> 1
p g.resume #...

絞り込み条件を変える

Method (49.0)

Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。

...][ruby]{
class
Foo
def foo(arg)
"foo called with arg #{arg}"
end
end

m = Foo.new.method(:foo)

p m # => #<Method: Foo#foo>
p m.call(1) # => "foo called with arg 1"
//}

名前のないメソッド(の代わり)が必要なら Proc を使うと良い。

//emlist[例][ruby]{...
...b1fcc>
p pr.call(1) # => "proc called with arg 1"
//}

Method オブジェクトが有用なのは以下のような場合。

//emlist[例][ruby]{
class
Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end

obj = Foo.new

# 任意のキーとメソッドの関係をハッシ...
...る(Method オブジェクトはレシーバを保持する)必
要がないなら Object#public_sendを使う方法も有用。

//emlist[例][ruby]{
class
Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end

# 任意のキーとメソッド(の名前)の関係をハッシュ...

Regexp (49.0)

正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式 で記述します。

...はスラッシュで囲んだ形式
で記述します。

//emlist[][ruby]{
/^this is regexp/
//}

Regexp.new(string) を使って正規表現オブジェクトを動的に生成する
こともできます。

//emlist[][ruby]{
str = "this is regexp"
rp1 = Regexp.new("^this is regexp")
p rp1 =~ s...
...Regexp.last_match[0] # => "this is regexp"
//}

Ruby 3.0.0 から正規表現リテラルは freeze されるようになりました。
//emlist[][ruby]{
p /abc/.frozen?
# => true
p /a#{42}bc/.frozen?
# => true
p Regexp.new('abc').frozen?
# => false
//}

spec/regexp や d:spec/literal#regexp も参...

StringScanner (49.0)

StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。

...StringScanner は文字列スキャナクラスです。
簡単に高速なスキャナを記述できます。

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

s = StringScanner.new('This is an example string')
s.eos? #=> false

p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #=> nil
p s.scan(/\s...
...先頭にあり、
その地点でのみマッチを試します。マッチしたらその後ろにポインタを進めます。

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

## a string and a scan pointer ("_" = scan pointer)

s = StringScanner.new('This is an example string')
# _This is an example...
...でもマッチしたい場合は、StringScanner#scan_untilなど
を使ってください。

//emlist[例: scan, scan_until の動作の違い][ruby]{
require 'strscan'

def case1
s = StringScanner.new('test string')
p s.scan(/t/) #=> "t"
p s.scan(/\w+/) #=> "est"
p s.scan(/stri...
<< < 1 2 3 4 ... > >>