るりまサーチ

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

別のキーワード

  1. openssl new
  2. _builtin new
  3. rexml/document new
  4. resolv new
  5. socket new

ライブラリ

検索結果

<< 1 2 > >>

Thread::ConditionVariable (6049.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...の一つである状態変数を実現するクラスです。

以下も ConditionVariable を理解するのに参考になります。

https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF

=== Condition Variable とは

あるスレッド A が排他領域で動いていたとし...
...リソースの空きを
待っていても、いつまでも空くことはありません。

以上のような状況を解決するのが Condition Variable です。

スレッド a で条件(リソースが空いているかなど)が満たされるまで wait メソッドで
スレッドを...
...レッド a に対して条件が成立したことを通知します。これが典型的な
使用例です。

mutex = Mutex.new
cv = ConditionVariable.new

a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(m...

StringIO (6035.0)

文字列に IO と同じインタフェースを持たせるためのクラスです。

...文字列に IO と同じインタフェースを持たせるためのクラスです。

//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read #=> "hoge"
sio.rewind
p sio.read(1) #=> "h"
sio.write("OGE")
sio.rewind
p sio.read...
...E"
//}

=== 例外
StringIO オブジェクトは大抵の場合 IO オブジェクトと同じ例外を発生させます。
例えば次の例では write は IOError を発生させます。

//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge")
sio.close
sio.write("a")
# => in `writ...
...e': not opened for writing (IOError)
//}...

MonitorMixin::ConditionVariable (6033.0)

MonitorMixin と Monitor のための 条件変数クラスです。 MonitorMixin#new_cond が返します。ユーザが MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。

...MonitorMixin と Monitor のための
条件変数クラスです。
MonitorMixin#new_cond が返します。ユーザが
MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。...

OpenSSL::X509::ExtensionFactory (6025.0)

OpenSSL::X509::Extension を簡便に生成するための クラスです。

...SL::X509::Extension を簡便に生成するための
クラスです。



require 'openssl'
# ca_cert: CA の証明書オブジェクト
# req: CSR オブジェクト
# newcert: 新たに生成する証明書のオブジェクト
ca_cert = OpenSSL::X509::Certificate.new(File.read('ca_...
...m'))
req = OpenSSL::X509::Request.new(File.read('req.pem'))
new
cert = OpenSSL::X509::Certificate.new
# 新しい ExtensionFactory オブジェクトを生成し、 CA の証明書オブジェクト
# を設定
factory = OpenSSL::X509::ExtensionFactory.new(ca_cert)
# CSR オブジェク...
...領域を生成
p factory.create_extension("basicConstraints", "CA:FALSE")
# => basicConstraints = CA:FALSE

# subjectKeyIdentifier 拡張領域を生成
# この値は CSR オブジェクトの公開鍵から生成される
p factory.create_extension("subjectKeyIdentifier", "hash")
# =>...

Gem::Version (6019.0)

文字列で表現されたバージョンを比較可能 (Comparable) にするためのクラスです。

...てしまい、
正しく判定できません。
Gem::Version はこの問題を解決します。

//emlist[文字列での比較と Gem::Version での比較][ruby]{
p "1.9" < "1.10" # => false
p Gem::Version.new("1.9") < Gem::Version.new("1.10") # => true
//}

gem のバージョンを取り扱...
...関係に使うこともできます。

//emlist[バージョン表記のソートの例][ruby]{
versions = %w[ 1.1 1.10 1.9 1.1.beta9 1.1.beta10 ]

p versions.sort_by{ |v| Gem::Version.new(v) }
# => ["1.1.beta9", "1.1.beta10", "1.1", "1.9", "1.10"]
//}

上の例で、"1.9" と "1.10" では...

絞り込み条件を変える

OptionParser (6013.0)

コマンドラインのオプションを取り扱うためのクラスです。

...ラスです。

オプションが指定された時に呼ばれるブロックを
OptionParser#on メソッドで登録していきます。
つまり、OptionParser を使う場合、基本的には

(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱う...
...ンを実際に parse する。

というような流れになります。

//emlist[][ruby]{
require "optparse"
ProgramConfig = Hash.new
opts = OptionParser.new
opts.on("-a"){|v| ProgramConfig[:a] = true } # オプション「-a」がコマンドラインで指定されていた場合の動作。...
...してから exit します。

: --version

OptionParser#ver を表示してから exit します。
OptionParser#ver が定義されていない場合は、そのようにエラーメッセージを出力して abort します。
オプション「--version」に「,」で区切られたクラ...

Rational (6013.0)

有理数を扱うクラスです。

...様に Rational.new ではなく、 Kernel.#Rational を使用して
Rational オブジェクトを作成します。

//emlist[例][ruby]{
Rational(1, 3) # => (1/3)
Rational('1/3') # => (1/3)
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
//}

Rational オブ...
...ジェクトは常に既約(それ以上約分できない状態)である
事に注意してください。

//emlist[例][ruby]{
Rational(2, 6) # => (1/3)
Rational(1, 3) * 3 # => (1/1)
//}...

Thread::Backtrace::Location (6013.0)

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

..._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...
...ocations.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'...

Encoding::UndefinedConversionError (6007.0)

エンコーディング変換後の文字が存在しない場合に発生する例外。

...ndefinedConversionError: U+2603 from UTF-8 to EUC-JP
//}


変換が多段階でなされ、その途中で例外が生じた場合は、
例外オブジェクトが保持するエラー情報はその中間のものになります。

//emlist[例][ruby]{
ec = Encoding::Converter.new("ISO-8859-1",...
...-8 but not in EUC-JP.
rescue Encoding::UndefinedConversionError
p $!.source_encoding #=> #<Encoding:UTF-8>
p $!.destination_encoding #=> #<Encoding:EUC-JP>
p $!.source_encoding_name #=> "UTF-8"
p $!.destination_encoding_name #=> "EUC-JP"
puts $!.error_char.d...

Logger::Application (6007.0)

ユーザ定義のアプリケーションにログ機能を簡単に追加することができます。

...をインスタンス化して start メソッドを呼び出します。


例:

class
FooApp < Application
def initialize(foo_app, application_specific, arguments)
super('FooApp') # Name of the application.
end

def run
...
log(WARN, 'warning', 'my_method1')...
....error('my_method2') { 'Error!' }
...
end
end

status = FooApp.new(....).start

=== 注意

このクラスは 2.2.0 で gem ライブラリとして切り離されました。2.2.0
以降ではそちらを利用してください。

* https://rubygems.org/gems/logger-application...

絞り込み条件を変える

<< 1 2 > >>