別のキーワード
ライブラリ
- ビルトイン (57)
- fiddle (22)
- openssl (11)
-
rexml
/ document (11)
クラス
-
Fiddle
:: Pointer (22) - Symbol (11)
モジュール
- Kernel (35)
-
OpenSSL
:: SSL (11)
キーワード
- -@ (11)
- Entity (11)
- Marshal フォーマット (11)
-
OP
_ SSLREF2 _ REUSE _ CERT _ TYPE _ BUG (11) - Proc (11)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
- Ruby用語集 (11)
- lambda (17)
- proc (18)
- rdoc (11)
-
ruby 1
. 6 feature (11) -
to
_ proc (11) - クラス/メソッドの定義 (11)
- メソッド呼び出し(super・ブロック付き・yield) (11)
- 手続きオブジェクトの挙動の詳細 (11)
- 正規表現 (11)
- 演算子式 (11)
検索結果
先頭5件
-
Fiddle
:: Pointer # ref -> Fiddle :: Pointer (15123.0) -
自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。
... &p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (3758.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:and] &
: xxx & yyy
論理積演算子。または類似の演算を行うメソッド。
//emlist{
p( 3 & 5 ) #=> 1 ・・ 二進数で 0011 & 0101 #=> 0001
//}
: a &= yyy
「&」メソッドの自己代入演算子。
: xxx && yyy
「and」演算子。
//emlist{
p( 3 && 5 ) #=>......ので右の値を返す。
//}
: def xxx(&yyy) ・・ &がついた引数
メソッド定義のブロック引数。d:spec/def#methodを参照。
: xxx(&b)
Proc オブジェクトをブロックとして使う。d:spec/call#block を参照。
: xxx&.yyy
safe navigation operator(通称「... -
OpenSSL
:: SSL :: OP _ SSLREF2 _ REUSE _ CERT _ TYPE _ BUG -> Integer (3106.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
...るフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。... -
Ruby用語集 (426.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...し、合わせてドキュメントの HTML を生成する。
参照:rdoc
: refinement
既存のクラスやモジュールを特定のスコープでのみ改変する仕組み。
参照:Module#refine、Module#using、main.using
: Ruby Central
Rubyのサポートと世界の Ruby......参照演算子
: safe navigation operator
メソッド呼び出し構文においてレシーバーとメソッド名を結ぶ演算子の一つ「&.」。
「.」と違う点は、レシーバーが nil のとき引数の評価もメソッド呼び出しも行わずに nil を
返す、と......str.size」「user&.name」といったメソッド呼び出しにおける
「.」「&.」も演算子である。
「[*0..9]」におけるいわゆる splat 展開の * や、
Proc オブジェクトをブロックとして渡す「strs.map(&:length)」に
おける & も演算子であ... -
正規表現 (366.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...uping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパターンを記述するための言語です。
また、この言語で記述された......んが、文字クラスは && という、共通部分を取る演算をサポートして
いるため、これと組合せることで意味を持ちます。
//emlist[][ruby]{
/[a-z[0-9]]/.match("y") # => #<MatchData "y">
/[a-z[0-9]]/.match("[") # => nil
r = /[a-w&&[^c-g]e]/ # ([a-w] かつ ([^......") # => #<MatchData "w">
r.match("z") # => nil
//}
文字クラスでは、否定(^)範囲(-)共通部分(&&)列挙(並べる)という
演算が可能ですが、これらは - > (列挙) > && > ^ という順の結合強度を持ちます。
文字クラス内の3つのメタ文字を通常の... -
クラス/メソッドの定義 (292.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...文法:
def メソッド名 ['(' [arg0 ['=' default0]] ... [',' '*' rest_args [, post ...]] [',' key1: [val1]] ... [',' '**'kwrest] [',' '&' block_arg]`)']
式.. (body)
[rescue [error_type,..] [=> evar] [then]
式..]..
[else
式..]......くのがインスタンス変数(メンバ変数)
end
def ==(other_vec) # いわゆる演算子オーバーライド
other_vec.x == @x && other_vec.y == @y
end
def +(other_vec)
Vector2D.new(other_vec.x + @x, other_vec.y + @y)
end
# ...
end
vec0 = Vector2D.new(10, 20); vec1......#=> 1
//}
Ruby 1.9 以降では可変長引数よりも後にまだ通常の引数を置くことができます。
最後の仮引数の直前に & があるとこのメソッドに与えられているブロッ
クが手続きオブジェクト(Proc)としてこの引数に格納されます。... -
演算子式 (162.0)
-
演算子式 * assign * selfassign * multiassign * range * range_cond * and * or * not * cond
...-(単項)
* / %
+ -
<< >>
&
| ^
> >= < <=
<=> == === != =~ !~
&&
||
.. ...
?:(条件演算子)......」「低い」は演算子の優先順位です。
例えば「&&」は「||」より優先順位が高いので、以下のように
解釈されます。
//emlist[][ruby]{
a && b || c #=> (a && b) || c
a || b && c #=> a || (b && c)
//}
ほとんどの演算子は特別な形式のメソッ......子(メソッド)
+@, -@ は単項演算子 +, - を表しメソッド定義
などではこの記法を利用します。
//emlist{
| ^ & <=> == === =~ > >= < <= << >>
+ - * / % ** ~ +@ -@ [] []= ` ! != !~
//}
これらの演算子式の定義方法... -
メソッド呼び出し(super・ブロック付き・yield) (150.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
...rint "hello world\n"
print
Class.new
Class::new
//}
文法:
[式 `.'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
[式 `::'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
メソッド呼び出し式はレシーバ(`.' の左側の式の値)のメソッドを呼び
出しま......)
//}
は、それぞれ
//emlist[][ruby]{
foo(1,2,3,4)
foo(1)
foo(1,2,3,4,5)
foo(1,2,3,4,5,6)
//}
と同じです。
最後の引数の直前に & がついている場合、その引数で指定した手続き
オブジェクト(Proc)やメソッドオブジェクト(Method)がブロック
と......, arg2, ...) do [`|' 式 ... `|'] 式 ... end
method(arg1, arg2, ...) `{' [`|' 式 ... `|'] 式 ... `}'
method(arg1, arg2, ..., `&' proc_object)
ブロック付きメソッドとは制御構造の抽象化のために用いられる
メソッドです。最初はループの抽....../def#methodで解説されているキーワード引数に
分解されて引き渡されます。
メソッド呼び出しで `.' の代わりに `&.' を使うことができます。
この形式でメソッドを呼びだそうとすると、レシーバが nil の場合は
以下のように... -
手続きオブジェクトの挙動の詳細 (92.0)
-
手続きオブジェクトの挙動の詳細 * def * should_use_next * block * lambda_proc * orphan
...Proc オブジェクトをブロック付きメソッド呼び出しに使う
ブロック付きメソッドに対して Proc オブジェクトを `&' を指定して渡すと
呼び出しブロックのように動作します。
しかし、厳密には以下の違いがあります。
これら......//emlist[問題なし][ruby]{
(1..5).each { break }
//}
//emlist[LocalJumpError が発生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}
===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い
Kernel.#lambda と Proc.new はどちらも Proc クラスのイ......が
よりメソッドに近い働きをするように設計されています。
Kernel.#proc は Proc.new と同じになります。
引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で生成されたそれと
同じように振る舞います。... -
Marshal フォーマット (42.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...n4 = 255
when -2; n3 = n4 = 255
when -1; n2 = n3 = n4 = 255
end
n = (0xffffff00 | n1) &
(0xffff00ff | n2 * 0x100) &
(0xff00ffff | n3 * 0x10000) &
(0x00ffffff | n4 * 0x1000000)
# p "%x" % n
n = -((n ^ 0xffff_ffff) + 1) if len < 0
n
end
p...