種類
- 文書 (84)
- インスタンスメソッド (36)
- モジュール関数 (21)
- クラス (12)
クラス
- FalseClass (12)
- NilClass (12)
- TrueClass (12)
モジュール
- Timeout (21)
キーワード
- Marshal フォーマット (12)
- Numeric (12)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - timeout (21)
- パターンマッチ (12)
- 正規表現 (12)
- 演算子式 (12)
検索結果
先頭5件
-
FalseClass
# ^(other) -> bool (21142.0) -
other が真なら true を, 偽なら false を返します。
...
^ は再定義可能な演算子に分類されていますので、通常は false ^ other の形で使われます。
//emlist[例][ruby]{
p false ^ true #=> true
p false ^ false #=> false
p false ^ nil #=> false
p false ^ (1 == 1) #=> true
p false ^ (1 + 1) #=> true
p false.^(tru......e) #=> true
p false.^(false) #=> false
p false.^(nil) #=> false
p false.^(1 == 1) #=> true
p false.^(1 + 1) #=> true
//}... -
TrueClass
# ^(other) -> bool (21142.0) -
other が真なら false を, 偽なら true を返します。
...。
^ は再定義可能な演算子に分類されていますので、通常は true ^ other のように使われます。
//emlist[例][ruby]{
p true ^ true #=> false
p true ^ false #=> true
p true ^ nil #=> true
p true ^ (1 == 1) #=> false
p true ^ (1 + 1) #=> false
p true.^(tru......e) #=> false
p true.^(false) #=> true
p true.^(nil) #=> true
p true.^(1 == 1) #=> false
p true.^(1 + 1) #=> false
//}... -
NilClass
# ^(other) -> bool (21124.0) -
other が真なら true を, 偽なら false を返します。
...other が真なら true を, 偽なら false を返します。
@param other 排他的論理和を行なう式です
//emlist[例][ruby]{
nil ^ true # => true
nil ^ false # => false
nil ^ nil # => false
nil ^ "a" # => true
//}... -
ruby 1
. 6 feature (270.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
....7 (2002-03-01) [i586-linux]
#<MatchData:0x401b1be4>
-:3: wrong argument type nil (expected Match) (TypeError)
^^^^^ MatchData の間違い
=> ruby 1.6.7 (2002-04-04) [i586-linux]
#<MatchData:0x401b1c98>
nil
: 2002-03-25......module_eval>)) のブロック内で定数やクラス変数のスコープが
変わることはなくなりました。((<ruby-dev:17876>))
class Foo
FOO = 1
@@foo = 1
end
FOO = 2
@@foo = 2
Foo.module_eval { p FOO, @@foo }
=......03-19) [i586-linux]
"表"
#! ruby -Ks
p %[評価]
=> -:2: parse error
p %[評価]
^
ruby 1.6.7 (2002-03-15) [i586-linux]
=> ruby 1.6.7 (2002-03-19) [i586-linux]
"評価"
: 2002-03-16 $~... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (132.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいりま......は制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略した場合......2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0
m2=0
while true
do
x="($RANDOM/$M)"
y="($RANDOM/$M)"
c=$(echo "$S;$x^2+$y^2 < 1.0" | bc)
echo $x $y $c
if [ $c -eq 1 ]
then
let m1++
else
let m2++
fi
done
SHELL_EOT
}
File.chmod(07... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (132.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいりま......は制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略した場合......2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0
m2=0
while true
do
x="($RANDOM/$M)"
y="($RANDOM/$M)"
c=$(echo "$S;$x^2+$y^2 < 1.0" | bc)
echo $x $y $c
if [ $c -eq 1 ]
then
let m1++
else
let m2++
fi
done
SHELL_EOT
}
File.chmod(07... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (131.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいりま......は制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
例 長い計算のタイムアウト
require 'timeout'
def calc_pi(mi......2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0
m2=0
while true
do
x="($RANDOM/$M)"
y="($RANDOM/$M)"
c=$(echo "$S;$x^2+$y^2 < 1.0" | bc)
echo $x $y $c
if [ $c -eq 1 ]
then
let m1++
else
let m2++
fi
done
SHELL_EOT
}
File.chmod(07... -
Marshal フォーマット (102.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...| n1) &
(0xffff00ff | n2 * 0x100) &
(0xff00ffff | n3 * 0x10000) &
(0x00ffffff | n4 * 0x1000000)
# p "%x" % n
n = -((n ^ 0xffff_ffff) + 1) if len < 0
n
end
p Marshal.dump(-125).unpack("x2 acC*") # => ["i", -1, 131]
p foo(-1, 131) # => -125......nce of the user class
==== String, Regexp, Array, Hash のサブクラス (インスタンス変数なし)
'C' で始まるデータ構造になります。
//emlist{
| 'C' | クラス名(Symbol)の dump | 親クラスのインスタンスの dump |
//}
//emlist[例 1][ruby]{
class Foo < Array #......(or String, Regexp, Hash)
end
p Marshal.dump(Foo.new([nil])).unpack("x2 a a c a3 aca*")
# => ["C", ":", 8, "Foo", "[", 6, "0"]
# ^^^ (or '"', '/', '{')
//}
==== String, Regexp, Array, Hash のサブクラス (インスタンス変数あり)
'I' で始まるデータ構造... -
正規表現 (102.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...し、オプション m によって改行にもマッチするようになります。
===[a:string] 文字クラス
文字クラス(character class)
とは角括弧 [ と ] で囲まれ、1個以上の文字を列挙したもので、
いずれかの1文字にマッチします。
//emlist[][ru......きます。
文字クラスの [ の直後の文字がキャレット(^)である場合、列挙「されていない」
文字にマッチするようになります(これは否定文字クラスと呼ばれます)。
[^a-d]
はabcd以外の1文字にマッチします。
文字クラス内......意味を持ちます。
//emlist[][ruby]{
/[a-z[0-9]]/.match("y") # => #<MatchData "y">
/[a-z[0-9]]/.match("[") # => nil
r = /[a-w&&[^c-g]e]/ # ([a-w] かつ ([^c-g] もしくは e)) つまり [abeh-w] と同じ
r.match("b") # => #<MatchData "b">
r.match("c") # => nil
r.match("e") # => #<MatchData... -
パターンマッチ (66.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
...基本的な形はマッチしたパターンの後ろに 『=> 変数名』 と書くことです。(この形は rescue 節で 『rescue ExceptionClass => var』 の形で例外をローカル変数に格納する形に似ています)
//emlist[][ruby]{
case [1, 2]
in Integer => a, Integer
"mat......ターンの部品として利用するよ」ということを伝えるためにピン演算子 『^』 を利用することができます。
//emlist[][ruby]{
expectation = 18
case [1, 2]
in ^expectation, *rest
"matched. expectation was: #{expectation}"
else
"not matched. expectation was: #......{id:, level: ^school}] # select the last school, level should match
"matched. school: #{id}"
else
"not matched"
end
#=> "matched. school: 2"
case john # 指定された school の level は "high" だが、最後の school はマッチしない
in school:, schools: [*, {id:, level: ^school}]... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (54.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
...味する
===[a:hat] ^
: true ^ true
「xor」演算子。排他的論理和。または類似のメソッド。
: a ^= true
「^」演算子の自己代入演算子。aの論理値の反転。
//emlist{
p(a=true);p(a^=true);p(a^=true) #=> true false true
//}
: /^xxx/
正規表現で......を含まない Range オブジェクトを作る範囲演算子です。
全体で範囲式といいます。d:spec/operator#range。
: if /^begin/ .. /^end/ など 条件式 式 .. 式
条件式中の範囲式は特別にフリップフロップのように働きます。
//emlist{
'12345......でを文字列とする行指向のリテラルです。
: class Foo < Super
クラス定義でスーパークラスを指定しています。
d:spec/def#class。
: class << obj
特異クラス定義。d:spec/def#singleton_classを参照。
===[a:rangl] >
: 3 > 5
「より大きい」...