ライブラリ
- ビルトイン (9)
-
fiddle
/ import (4) - mkmf (2)
- monitor (1)
- openssl (24)
-
rubygems
/ package / tar _ output (1) -
rubygems
/ security (5) -
rubygems
/ source _ index (2) -
rubygems
/ specification (1) - shell (1)
-
shell
/ process-controller (1) -
shell
/ system-command (1)
クラス
-
Gem
:: Package :: TarOutput (1) -
Gem
:: Security :: Policy (3) -
Gem
:: Security :: Signer (2) -
Gem
:: SourceIndex (2) -
Gem
:: Specification (1) -
MonitorMixin
:: ConditionVariable (1) -
OpenSSL
:: Netscape :: SPKI (1) -
OpenSSL
:: OCSP :: BasicResponse (1) -
OpenSSL
:: OCSP :: Request (1) -
OpenSSL
:: PKCS7 (4) -
OpenSSL
:: PKCS7 :: SignerInfo (4) -
OpenSSL
:: PKey :: DSA (2) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: PKey (2) -
OpenSSL
:: X509 :: CRL (2) -
OpenSSL
:: X509 :: Certificate (2) -
OpenSSL
:: X509 :: Request (3) - Proc (4)
-
Process
:: Status (1) - Shell (1)
-
Shell
:: ProcessController (1) -
Shell
:: SystemCommand (1) - SignalException (2)
-
Thread
:: ConditionVariable (1) - Time (1)
モジュール
-
Fiddle
:: Importer (4) - Kernel (2)
キーワード
- === (1)
- [] (1)
-
add
_ certificate (1) -
add
_ signatures (1) -
add
_ signer (1) - bind (1)
- call (1)
-
cert
_ chain (1) -
check
_ signedness (2) -
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) - extern (1)
-
gem
_ signature (1) -
index
_ signature (1) - issuer (1)
- key (1)
- kill (2)
-
kill
_ job (1) - name (1)
-
only
_ signed (1) - serial (1)
- signal (2)
- signaled? (1)
-
signature
_ algorithm (3) -
signed
_ time (1) - signers (1)
-
signing
_ key (1) - signm (1)
- signo (1)
- strftime (1)
- struct (1)
- syssign (1)
- sysverify (1)
- union (1)
- verify (4)
-
verify
_ gem (1) -
verify
_ signer (1) - yield (1)
検索結果
先頭5件
- OpenSSL
:: OCSP :: BasicResponse # sign(signer _ cert , signer _ key , certs = [] , flags=0) -> self - OpenSSL
:: OCSP :: Request # sign(signer _ cert , signer _ key , certs=nil , flags=nil) -> self - OpenSSL
:: X509 :: CRL # sign(pkey , digest) -> self - OpenSSL
:: X509 :: Certificate # sign(pkey , digest) -> self - OpenSSL
:: X509 :: Request # sign(key , digest) -> self
-
OpenSSL
:: OCSP :: BasicResponse # sign(signer _ cert , signer _ key , certs = [] , flags=0) -> self (64807.0) -
Response に署名します。
Response に署名します。
OCSP レスポンダ(もしくは CA)はレスポンスに署名をすることで、
レスポンスの内容を保証します。
flags には以下の値の OR を渡すことができます。
* OpenSSL::OCSP::NOTIME
* OpenSSL::OCSP::RESPID_KEY
* OpenSSL::OCSP::NOCERTS
certs に証明書の配列を渡すことで、この署名を検証するために
必要となる別の証明書を付加することができます。
@param signer_cert 署名者の証明書(OpenSSL::X509::Certificate オブジェ... -
OpenSSL
:: OCSP :: Request # sign(signer _ cert , signer _ key , certs=nil , flags=nil) -> self (64807.0) -
Request オブジェクトに署名をします。
Request オブジェクトに署名をします。
この署名はリクエスタが自分自身を証明するために署名します。
OCSP レスポンダはこの署名を確認します。
Request に対する署名は必須ではありません。
certs に証明書の配列を渡すことで、この署名を検証するために
必要となる別の証明書を付加することができます。
@param signer_cert 署名者の証明書(OpenSSL::X509::Certificate オブジェクト)
@param signer_key 証明に用いる秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param certs 添付する証明書... -
OpenSSL
:: X509 :: CRL # sign(pkey , digest) -> self (63607.0) -
CRL に秘密鍵で署名します。
CRL に秘密鍵で署名します。
@param pkey 秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest ハッシュアルゴリズム
@raise OpenSSL::X509::CRLError 署名に失敗した場合に発生します -
OpenSSL
:: X509 :: Certificate # sign(pkey , digest) -> self (63607.0) -
証明書に署名します。
証明書に署名します。
DSA で署名する場合は digest は "dss1" でなければなりません。
@param pkey 発行者(issuer)の秘密鍵
@param digest ハッシュ関数を表す文字列 -
OpenSSL
:: X509 :: Request # sign(key , digest) -> self (63607.0) -
証明書署名要求に秘密鍵で署名をします。
証明書署名要求に秘密鍵で署名をします。
通常、証明書署名要求は申請者の秘密鍵で署名されます。
@param key 秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
@param digest ハッシュ関数を表す文字列("sha1" など)
@raise OpenSSL::X509::RequestError 署名に失敗した場合に発生します
@see OpenSSL::X509::Request#verify -
OpenSSL
:: PKey :: PKey # sign(digest , data) -> String (54907.0) -
秘密鍵で data に署名し、署名の文字列を返します。
秘密鍵で data に署名し、署名の文字列を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で署名をする場合はハッシュ関数には "dss1" を指定してください。
@param digest 利用するハッシュ関数の名前
@param data 署名する文字列
@raise OpenSSL::PKey::PKeyError 署名時にエラーが起きた場合に発生します -
Gem
:: Security :: Policy # verify _ signer -> bool (45904.0) -
この値が真である場合は、署名者を検証します。
この値が真である場合は、署名者を検証します。 -
OpenSSL
:: X509 :: Request # signature _ algorithm -> String (45904.0) -
証明書署名要求の署名に使われているアルゴリズム名を文字列で返します。
証明書署名要求の署名に使われているアルゴリズム名を文字列で返します。 -
OpenSSL
:: PKCS7 # signers -> [OpenSSL :: PKCS7 :: SignerInfo] (37204.0) -
メッセージの署名者を表す OpenSSL::PKCS7::SignerInfo オブジェクトの 配列を返します。
メッセージの署名者を表す OpenSSL::PKCS7::SignerInfo オブジェクトの
配列を返します。
これはメッセージを署名した場合にのみ意味があります。 -
Gem
:: SourceIndex # gem _ signature(gem _ full _ name) -> String (36904.0) -
与えられた名前を持つ Gem の SHA256 ダイジェストを返します。
与えられた名前を持つ Gem の SHA256 ダイジェストを返します。
@param gem_full_name Gem の名前を指定します。 -
Gem
:: SourceIndex # index _ signature -> String (36904.0) -
ソースインデックスの SHA256 ダイジェストを返します。
ソースインデックスの SHA256 ダイジェストを返します。
この値はインデックスが変更されると変化します。 -
OpenSSL
:: PKCS7 # add _ signer(singer) -> self (36904.0) -
署名者を追加します。
署名者を追加します。
このメソッドは使わないでください。
このメソッドは PKCS#7 の低レベル API であり、正しく使うのは
難しいでしょう。
@param signer 追加する署名者(OpenSSL::PKCS7::SignerInfo オブジェクト) -
OpenSSL
:: X509 :: CRL # signature _ algorithm -> String (36904.0) -
署名に使ったアルゴリズム名を文字列で返します。
署名に使ったアルゴリズム名を文字列で返します。
@raise OpenSSL::X509::CRLError 名前の取得に失敗した場合に発生します -
OpenSSL
:: X509 :: Certificate # signature _ algorithm -> String (36904.0) -
発行者 (CA) が証明書に署名するのに使ったアルゴリズムです。
発行者 (CA) が証明書に署名するのに使ったアルゴリズムです。 -
Gem
:: Package :: TarOutput # add _ signatures (36652.0) -
gem-format な tar ファイルに data.tar.gz.sig, metadata.gz.sig を追加します。
gem-format な tar ファイルに data.tar.gz.sig, metadata.gz.sig を追加します。
@see Gem::Security::Signer -
OpenSSL
:: PKCS7 :: SignerInfo # serial -> Integer (36604.0) -
署名者の証明書の識別番号を返します。
署名者の証明書の識別番号を返します。
これと OpenSSL::PKCS7::SignerInfo#issuer で
署名者を一意に識別します。 -
OpenSSL
:: PKCS7 :: SignerInfo # signed _ time -> Time (36604.0) -
その署名者が署名した時刻を返します。
その署名者が署名した時刻を返します。 -
Kernel
# check _ signedness(type , headers = nil , opts = nil) -> "signed" | "unsigned" | nil (28504.0) -
Returns the signedness of the given +type+. You may optionally specify additional +headers+ to search in for the +type+. If the +type+ is found and is a numeric type, a macro is passed as a preprocessor constant to the compiler using the +type+ name, in uppercase, prepended with 'SIGNEDNESS_OF_', followed by the +type+ name, followed by '=X' where 'X' is positive integer if the +type+ is unsigned, or negative integer if the +type+ is signed. For example, if size_t is defined as unsigned, then check_signedness('size_t') would returned +1 and the SIGNEDNESS_OF_SIZE_T=+1 preprocessor macro would be passed to the compiler, and SIGNEDNESS_OF_INT=-1 if check_signedness('int') is done.
Returns the signedness of the given +type+. You may optionally
specify additional +headers+ to search in for the +type+.
If the +type+ is found and is a numeric type, a macro is passed as a
preprocessor constant to the compiler using the +type+ name, in
uppercase, prepended with 'SIGNEDNESS... -
Kernel
# check _ signedness(type , headers = nil , opts = nil) { . . . } -> "signed" | "unsigned" | nil (28504.0) -
Returns the signedness of the given +type+. You may optionally specify additional +headers+ to search in for the +type+. If the +type+ is found and is a numeric type, a macro is passed as a preprocessor constant to the compiler using the +type+ name, in uppercase, prepended with 'SIGNEDNESS_OF_', followed by the +type+ name, followed by '=X' where 'X' is positive integer if the +type+ is unsigned, or negative integer if the +type+ is signed. For example, if size_t is defined as unsigned, then check_signedness('size_t') would returned +1 and the SIGNEDNESS_OF_SIZE_T=+1 preprocessor macro would be passed to the compiler, and SIGNEDNESS_OF_INT=-1 if check_signedness('int') is done.
Returns the signedness of the given +type+. You may optionally
specify additional +headers+ to search in for the +type+.
If the +type+ is found and is a numeric type, a macro is passed as a
preprocessor constant to the compiler using the +type+ name, in
uppercase, prepended with 'SIGNEDNESS... -
Gem
:: Security :: Policy # verify _ gem(signature , data , chain , time = Time . now) -> Array (27904.0) -
与えられたデータを与えられた署名と証明書チェーンで検証します。
与えられたデータを与えられた署名と証明書チェーンで検証します。
@param signature 署名を指定します。
@param data 検証するデータを指定します。
@param chain 検証で使用する証明書チェーンを指定します。
@param time この時刻に有効であることを検証する。
@raise Gem::Security::Exception 検証に失敗した場合に発生します。 -
SignalException
# signm -> String (27904.0) -
self.message のエイリアスです。
self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//} -
SignalException
# signo -> Integer (27904.0) -
self のシグナル番号を返します。
self のシグナル番号を返します。
//emlist[例][ruby]{
p Signal.signame(1) # => "HUP"
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
p e.signo # => 1
end
//} -
Gem
:: Security :: Policy # only _ signed -> bool (27604.0) -
この値が真である場合は、署名付きの Gem のみインストールします。
この値が真である場合は、署名付きの Gem のみインストールします。 -
Gem
:: Security :: Signer # cert _ chain -> Array (27604.0) -
証明書チェーンを返します。
証明書チェーンを返します。 -
MonitorMixin
:: ConditionVariable # signal -> () (27604.0) -
その条件変数で待っているスレッドがあれば実行を再開させます。
その条件変数で待っているスレッドがあれば実行を再開させます。
複数のスレッドが待っている場合には1つのスレッドのみ
実行を再開します。
@see MonitorMixin::ConditionVariable#broadcast -
OpenSSL
:: PKCS7 :: SignerInfo # issuer -> OpenSSL :: X509 :: Name (27604.0) -
署名者の証明書の発行者の名前(DN)を返します。
署名者の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::SignerInfo#serial で
署名者を一意に識別します。 -
Process
:: Status # signaled? -> bool (27604.0) -
プロセスがハンドラを定義していないシグナルを受けて終了した場合に真 を返します。
プロセスがハンドラを定義していないシグナルを受けて終了した場合に真
を返します。 -
Thread
:: ConditionVariable # signal -> self (27604.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Time
# strftime(format) -> String (19450.0) -
時刻を format 文字列に従って文字列に変換した結果を返します。
時刻を format 文字列に従って文字列に変換した結果を返します。
@param format フォーマット文字列を指定します。使用できるものは 以下の通りです。
* %A: 曜日の名称(Sunday, Monday ... )
* %a: 曜日の省略名(Sun, Mon ... )
* %B: 月の名称(January, February ... )
* %b: 月の省略名(Jan, Feb ... )
* %C: 世紀 (2009年であれば 20)
* %c: 日付と時刻 (%a %b %e %T %Y)
* %D: 日付 (%m/%d/%y)
* ... -
OpenSSL
:: PKey :: DSA # sysverify(data , sign) -> bool (18991.0) -
署名 sign と自身の公開鍵で data を検証します。
署名 sign と自身の公開鍵で data を検証します。
検証に成功した場合は真を返します。
sign に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PKey::DSAError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗した場合はこの
例外は発生しないことに... -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (18991.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
data を秘密鍵で署名したその署名文字列が sign
であることを公開鍵を使って検証し、検証に成功すれば true
を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、
sign が正しい署名でなかった場合などは false を返します。
@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対... -
Fiddle
:: Importer # extern(signature , *opts) -> Fiddle :: Function (18922.0) -
Fiddle::Importer#dlload で取り込んだライブラリから C の関数をインポートします。
Fiddle::Importer#dlload で取り込んだライブラリから
C の関数をインポートします。
インポートした関数はそのモジュールにモジュール関数として定義されます。
signature で関数の名前とシネグチャを指定します。例えば
"int strcmp(char*, char*)" のように指定することができます。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートした関数を表す Fiddle::Function オブジェクトを返します。
@param signature 関数... -
OpenSSL
:: PKCS7 # add _ certificate(cert) -> self (18922.0) -
署名に添付する証明書を追加します。
署名に添付する証明書を追加します。
通常は OpenSSL::PKCS7.sign の引数で添付する証明書を指定した
ほうがよいでしょう。
@param cert 追加する証明書(OpenSSL::X509::Certificate オブジェクト)
@raise OpenSSL::PKCS7::PKCS7Error 追加に失敗した場合に発生します。 -
OpenSSL
:: PKey :: DSA # syssign(data) -> String (18922.0) -
自身で data に署名をし、 DER 形式の文字列で署名を返します。
自身で data に署名をし、 DER 形式の文字列で署名を返します。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
通常は OpenSSL::PKey::PKey#sign を使い、署名をすべきです。
@param data 署名の対象 -
OpenSSL
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (18907.0) -
秘密鍵を用い、data に ECDSA で署名します。
秘密鍵を用い、data に ECDSA で署名します。
結果は文字列として返します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1 -
Fiddle
:: Importer # struct(signature) -> Class (18904.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
C の構造体型に対応する Ruby のクラスを構築して返します。
構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。
このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
... -
Gem
:: Specification # signing _ key -> String (18904.0) -
この Gem パッケージの署名に使用するキーを返します。
この Gem パッケージの署名に使用するキーを返します。 -
Shell
:: ProcessController # kill _ job(signal , command) -> Integer (18904.0) -
指定されたコマンドにシグナルを送ります。
指定されたコマンドにシグナルを送ります。
@param signal シグナルを整数かその名前の文字列で指定します。
負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、
プロセスではなくプロセスグループにシグナルを送ります。
@param command コマンドを指定します。
@see Process.#kill -
OpenSSL
:: Netscape :: SPKI # verify(key) -> bool (18622.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は true を返し、失敗した場合は false を返します。
@param key 署名に使う公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::Netscape::SPKIError 検証時にエラーが起きた場合に発生します
@see OpenSSL::Netscape::SPKI#sign -
OpenSSL
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (18622.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は真を、失敗した場合は偽を返します。
certs には署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは配列から適切な証明書を自動的に選択します。
store には検証に用いる証明書ストアを渡します。
検証に必要な信頼できる CA 証明書をあらかじめ証明書ストアに含めておく
必要があります。
indata は署名の対象となった... -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (18622.0) -
公開鍵を用い、署名を ECDSA で検証します。
公開鍵を用い、署名を ECDSA で検証します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1 -
OpenSSL
:: X509 :: Request # verify(key) -> bool (18622.0) -
署名を検証します。
署名を検証します。
検証に成功した場合には true を、失敗した場合には false を返します。
@param key 検証に利用する公開鍵(OpenSSL::PKey::PKey のサブクラスのインスタンス)
@raise OpenSSL::X509::RequestError 検証時にエラーが生じた場合に発生します
@see OpenSSL::X509::Request#sign -
Gem
:: Security :: Signer # key -> OpenSSL :: PKey :: PKey (18304.0) -
鍵を返します。
鍵を返します。 -
OpenSSL
:: PKCS7 :: SignerInfo # name -> OpenSSL :: X509 :: Name (18304.0) -
署名者の証明書の発行者の名前(DN)を返します。
署名者の証明書の発行者の名前(DN)を返します。
これと OpenSSL::PKCS7::SignerInfo#serial で
署名者を一意に識別します。 -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (9958.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。
これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。
signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートした関数を表す ... -
Fiddle
:: Importer # union(signature) -> Class (9904.0) -
C の共用体型に対応する Ruby のクラスを構築して返します。
C の共用体型に対応する Ruby のクラスを構築して返します。
共用体型を Ruby 上で定義する方法は Fiddle::Importer#struct と
ほぼ同様です。C における
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
は、Ruby上では
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "lib... -
Proc
# ===(*arg) -> () (9748.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Proc
# [](*arg) -> () (9748.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Proc
# call(*arg) -> () (9748.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Proc
# yield(*arg) -> () (9748.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Shell
# kill(signal , job) -> Integer (904.0) -
@todo
@todo
ジョブにシグナルを送ります。
@param signal
@param job -
Shell
:: SystemCommand # kill(signal) -> Integer (904.0) -
自身のプロセスにシグナルを送ります。
自身のプロセスにシグナルを送ります。
@param signal シグナルを整数かその名前の文字列で指定します。
負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、
プロセスではなくプロセスグループにシグナルを送ります。
@see Process.#kill