種類
- インスタンスメソッド (78)
- 文書 (48)
- 特異メソッド (48)
- 定数 (12)
- ライブラリ (12)
ライブラリ
- ビルトイン (66)
-
rexml
/ document (12) -
rubygems
/ package / tar _ input (12) - socket (24)
- uri (24)
クラス
- BasicObject (24)
- Data (12)
-
Gem
:: Package :: TarInput (12) - MatchData (18)
- Object (12)
-
REXML
:: CData (12) -
Socket
:: AncillaryData (24)
モジュール
- URI (24)
キーワード
- Ruby用語集 (12)
- captures (2)
-
decode
_ www _ form (12) - deconstruct (5)
-
deconstruct
_ keys (5) -
encode
_ www _ form (12) - inspect (15)
-
instance
_ eval (24) -
ip
_ pktinfo (24) - new (12)
-
ruby 1
. 8 . 4 feature (12) -
to
_ s (3) - yaml (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- 制御構造 (12)
検索結果
先頭5件
-
メソッド呼び出し(super・ブロック付き・yield) (23048.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
...のメソッドを持つオブジェクトのメソッド定義式内でなければ呼び出せ
ません。d:spec/def#limit を参照して下さい。
ハッシュ式の解説(d:spec/literal#hash)にも書かれている通り、
メソッド呼出の末尾にHashを渡す場合は {, } を省......略することができます。
これを用いることでキーワード引数を渡すことができます。
この Hash はd:spec/def#methodで解説されているキーワード引数に
分解されて引き渡されます。
===[a:super] super
//emlist[例][ruby]{
super
super(1,2,3)
/......す。
例:
yield data
文法:
yield `(' [式 [`,' 式 ... ]] `)'
yield [式 [`,' 式 ... ]]
引数をブロックパラメータとして渡してブロックを評価します。yield は
イテレータを定義するために d:spec/def#method 内で使用し......略することができます。
これを用いることでキーワード引数を渡すことができます。
この Hash はd:spec/def#methodで解説されているキーワード引数に
分解されて引き渡されます。
メソッド呼び出しで `.' の代わりに `&.' を使う... -
制御構造 (23048.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...の右辺に置くと
syntax error になります)。
RubyはC言語やPerlから引き継いだ制御構造を持ちますが、
その他にd:spec/call#blockという
制御構造の抽象化を援助する機能があります。ブロック付きメソッド呼び出しは
繰り返しを始......e {a: 1, b: 2, c: 3}
in a: Integer => m
"matched: #{m}"
else
"not matched"
end
# => "matched: 1"
//}
パターンマッチ構文についてはspec/pattern_matchingで説明しています。
=== 繰り返し
====[a:while] while
//emlist[例][ruby]{
ary = [0,2,4,8,16,32,64,128,256,512,1024]......左辺の式が begin 節である場合にはそれを最初に一回評価してから繰り返します。
//emlist[例][ruby]{
send_request(data)
begin
res = get_response()
end while res == 'Continue'
//}
while 修飾した式は nil を返します。
また、引数を伴った break に... -
Object
:: DATA -> File (18215.0) -
スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
...File オブジェクト。
d:spec/program#terminateも参照。
ソースファイルの __END__ 以降は解析・実行の対象にならないので
その部分にプログラムが利用するためのデータを書き込んでおくことができます。
DATA 定数はそのデータ部......するための File オブジェクトを保持しています。
__END__ を含まないプログラムにおいては DATA は定義されません。
=== 注意
* DATA.rewind で移動する読みとり位置は __END__ 直後ではなく、
スクリプトファイルの先頭で......:spec/variables#pseudo)
ではなく実行されたファイル ($0) を指します。
=== 例1
print DATA.gets # => 故人西辞黄鶴楼
print DATA.gets # => 烟花三月下揚州
print DATA.gets # => 孤帆遠影碧空尽
print DATA.gets # => 唯見長江天際流
DATA... -
Data
# inspect -> String (15130.0) -
self の内容を人間に読みやすい文字列にして返します。
...list[例][ruby]{
Customer = Data.define(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.inspect # => "#<data Customer name=\"Joe Smith\", address=\"123 Maple, Anytown NC\", zip=12345>"
//}
[注意] 本メソッドの記述は Data のサブクラスのイ......ンスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
Data
# to _ s -> String (12030.0) -
self の内容を人間に読みやすい文字列にして返します。
...list[例][ruby]{
Customer = Data.define(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.inspect # => "#<data Customer name=\"Joe Smith\", address=\"123 Maple, Anytown NC\", zip=12345>"
//}
[注意] 本メソッドの記述は Data のサブクラスのイ......ンスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
MatchData
# inspect -> String (9100.0) -
self の内容を人間に読みやすい文字列にして返します。
....$/.match("foo").inspect
# => #<MatchData "o">
puts /(.)(.)(.)/.match("foo").inspect
# => #<MatchData "foo" 1:"f" 2:"o" 3:"o">
puts /(.)(.)?(.)/.match("fo").inspect
# => #<MatchData "fo" 1:"f" 2:nil 3:"o">
puts /(?<foo>.)(?<bar>.)(?<baz>.)/.match("hoge").inspect
# => #<MatchData "hog" foo:"h" bar... -
Data
# deconstruct -> [object] (9036.0) -
self のメンバの値を配列で返します。
...。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
distance.deconstruct # => [10, "km"]
//}
このメソッドは以下のようにパターンマッチで利用されます。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Meas.........
end
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。
@see d:spec/pattern_matching#matching_non_primitive_objects... -
Data
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (9036.0) -
self のメンバの名前と値の組を Hash で返します。
...self のメンバの名前と値の組を Hash で返します。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
distance.deconstruct_keys(nil) # => {:amount=>10, :unit=>"km"}
distance.deconstruct_keys([:amount]) # => {:amount=>10}
//}
このメ......ソッドは以下のようにパターンマッチで利用されます。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
case distance
in amount:, unit: 'km' # 裏側で #deconstruct_keys を呼ぶ
puts "It is #{amount} kilometers away"
else
puts......します。
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。
@see d:spec/pattern_matching#matching_non_primitive_objects... -
Gem
:: Package :: TarInput # metadata -> Gem :: Specification (6200.0) -
メタデータを返します。
メタデータを返します。 -
Socket
:: AncillaryData . ip _ pktinfo(addr , ifindex , spec _ dst=addr) -> Socket :: AncillaryData (3225.0) -
type が IP_PKTINFO である AncillaryData を生成します。
...yData を生成します。
IP_PKTINFO は非標準的拡張であり、システムによっては使えない場合があります。
require 'socket'
addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dst = Addrinfo.ip("127.0.0.1")
p Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec......_dst)
#=> #<Socket::AncillaryData: INET IP PKTINFO 127.0.0.1 ifindex:0 spec_dst:127.0.0.1>
@param addr アドレス(文字列もしくは Addrinfo)
@param ifindex インターフェースのインデックス(整数)
@param spec_dst パケットのローカルアドレス(文字列もしくは Ad......drinfo)
@see Socket::AncillaryData#ip_pktinfo,
Socket::Constants::IP_PKTINFO... -
REXML
:: CData . new(text , respect _ whitespace = true , parent = nil) -> REXML :: CData (3200.0) -
text をテキストとして持つ CData オブジェクトを生成します。
...キストとして持つ CData オブジェクトを生成します。
respect_whitespace に真を指定すると、text に含まれる空白文字は保存されます。
偽の場合は空白はまとめられます。
@param text テキスト文字列
@param respect_whitespace 空白を保存......Data.new("foo bar baz "))
doc.to_s # => "<root><![CDATA[foo bar baz ]]></root>\n"
doc = REXML::Document.new(<<EOS)
<root />
EOS
doc.root.add(REXML::CData.new("foo bar baz ", true))
doc.root.add(REXML::CData.new("foo bar baz ", false))
doc.to_s # => "<root><![CDATA[foo bar baz ]]><![CDATA... -
Socket
:: AncillaryData # ip _ pktinfo -> [Addrinfo , Integer , Addrinfo] (3012.0) -
自身の type が IP_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス、ローカルアドレス) を3要素の配列で返します。
...があります。
require 'socket'
addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dest = Addrinfo.ip("127.0.0.1")
ancdata = Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dest)
p ancdata.ip_pktinfo
#=> [#<Addrinfo: 127.0.0.1>, 0, #<Addrinfo: 127.0.0.1>]
@raise TypeError lev......el, type が IPPROTO_IP, IP_PKTINFO でない場合に
発生します。
@see Socket::AncillaryData.ip_pktinfo,
Socket::Constants::IP_PKTINFO...