別のキーワード
種類
- インスタンスメソッド (144)
- ライブラリ (12)
- クラス (12)
- 文書 (9)
ライブラリ
- ビルトイン (96)
-
net
/ http (12) -
webrick
/ httprequest (24) -
webrick
/ httpresponse (24)
クラス
-
WEBrick
:: HTTPRequest (24) -
WEBrick
:: HTTPResponse (24)
モジュール
- Enumerable (84)
-
Net
:: HTTPHeader (12)
キーワード
- Lazy (12)
-
NEWS for Ruby 2
. 4 . 0 (9) - body (24)
-
chunk
_ while (12) - chunked= (12)
- chunked? (24)
-
net
/ pop (12) -
slice
_ after (24) -
slice
_ before (24) -
slice
_ when (12)
検索結果
先頭5件
-
Enumerable
# chunk {|elt| . . . } -> Enumerator (18155.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
...クの要素を持つ配列のペアを各要素とします。
そのため、eachだと以下のようになります。
//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something }
//}
例として、整数列を連続する奇数/偶数に分ける例を見てみます。
「n.eve......わるところで区切られているのがわかるでしょう。
//emlist[例][ruby]{
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5].chunk {|n|
n.even?
}.each {|even, ary|
p [even, ary]
}
# => [false, [3, 1]]
# [true, [4]]
# [false, [1, 5, 9]]
# [true, [2, 6]]
# [false, [5, 3, 5]]
//}
こ......いを無視するため upcase しています。
//emlist[例][ruby]{
# ファイルのエンコーディングは実際のファイルに合わせてください。
open("/usr/share/dict/words", "r:iso-8859-1") {|f|
f.chunk {|line| line[0].upcase }.each {|ch, lines| p [ch, lines.length] }
}
#... -
WEBrick
:: HTTPResponse # chunked=(flag) (9122.0) -
真に設定するとクライアントに返す内容(エンティティボディ)を chunk に分けるようになります。
...容(エンティティボディ)を chunk に分けるようになります。
自身の WEBrick::HTTPResponse#request_http_version が 1.0 以下である場合、この値は無視されます。
@param flag true を指定した場合、レスポンスを chunk に分けてクライアントに......ick'
include WEBrick
res = HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.body = 'hoge'
res.chunked = true
print res.to_s
#=> 出力結果
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Sat, 27 Oct 2007 09:04:28 GMT
Server:
Transfer-Encoding: chunked
4
hoge
0
#... -
WEBrick
:: HTTPResponse # chunked? -> bool (9116.0) -
真であればクライアントに返す内容(エンティティボディ)を chunk に分けます。
...真であればクライアントに返す内容(エンティティボディ)を chunk に分けます。... -
Net
:: HTTPHeader # chunked? -> bool (9100.0) -
Transfer-Encoding: ヘッダフィールドが "chunked" である 場合に真を返します。
..."chunked" である
場合に真を返します。
Transfer-Encoding: ヘッダフィールドが存在しなかったり、
"chunked" 以外である場合には偽を返します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Ge......t.new(uri.request_uri)
req.chunked? # => false
req["Transfer-Encoding"] = "chunked"
req.chunked? # => true
//}... -
Enumerable
# chunk _ while {|elt _ before , elt _ after| . . . } -> Enumerator (6167.0) -
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。
...tor
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.chunk_while { |elt_before, elt_after| bool }.each { |ary| ... }
//}
to_a や map などのその他の Enumerable モジュールのメソッ
ドも有用です。
//emlist[例]......2,4,9,10,11,12,15,16,19,20,21]
b = a.chunk_while {|i, j| i+1 == j }
p b.to_a # => [[1, 2], [4], [9, 10, 11, 12], [15, 16], [19, 20, 21]]
c = b.map {|a| a.length < 3 ? a : "#{a.first}-#{a.last}" }
p c # => [[1, 2], [4], "9-12", [15, 16], "19-21"]
d = c.join(",")
p d # => "1,2,4,9-12,15,16,19-21"
#......3, 2, 7, 5, 9, 5]
p a.chunk_while {|i, j| i <= j }.to_a
# => [[0, 9], [2, 2, 3], [2, 7], [5, 9], [5]]
# 隣り合う偶数同士、奇数同士の部分配列ごとに分ける。
# (Enumerable#chunk を使って実現する事も可能)
a = [7, 5, 9, 2, 0, 7, 9, 4, 2, 0]
p a.chunk_while {|i, j| i.... -
net
/ pop (6012.0) -
このライブラリは、POP3 (Post Office Protocol version 3) を 用いてPOPサーバからメールを受信する機能を提供するライブラリです。
...このライブラリは、POP3 (Post Office Protocol version 3) を
用いてPOPサーバからメールを受信する機能を提供するライブラリです。
POP3 の実装は 1939 に基いています。
2449 で定義されているPOP3拡張には対応していません。
=== 使用......'pop.example.com' は適当なPOP3のサーバのホスト名に、
'YourAccount' と 'YourPassword' は適当なアカウント名とパスワード
に適宜読みかえてください。
require 'net/pop'
pop = Net::POP3.new('pop.example.com', 110)
pop.start('YourAccount', 'YourPasswo......require 'net/pop'
i = 0
Net::POP3.delete_all('pop.example.com', 110,
'YourAccount', 'YourPassword') do |m|
File.open('inbox/#{i}', 'w') {|f|
m.pop {|chunk|
f.write(chunk)
}
}
i += 1
end
==== APOP を使う
Net::POP3 クラスの... -
WEBrick
:: HTTPRequest # body {|chunk| . . . } -> String | nil (3101.0) -
クライアントからエンティティボディを読み込み返します。 リクエストにエンティティボディが含まれない場合は nil を返します。
...を読み込み返します。
リクエストにエンティティボディが含まれない場合は nil を返します。
リクエストが chunked 形式であっても返り値はデコードされて返されます。
2回目の呼び出し以降は最初に読み込んだエンティテ......ィボディを返します。
ブロックを指定された場合、クライアントからデータを読み込むたびにそのデータ(文字列)
を引数としてブロックを実行します。リクエストが chunked 形式であっても引数はデコードされています。... -
WEBrick
:: HTTPRequest # body -> String | nil (3001.0) -
クライアントからエンティティボディを読み込み返します。 リクエストにエンティティボディが含まれない場合は nil を返します。
...を読み込み返します。
リクエストにエンティティボディが含まれない場合は nil を返します。
リクエストが chunked 形式であっても返り値はデコードされて返されます。
2回目の呼び出し以降は最初に読み込んだエンティテ......ィボディを返します。
ブロックを指定された場合、クライアントからデータを読み込むたびにそのデータ(文字列)
を引数としてブロックを実行します。リクエストが chunked 形式であっても引数はデコードされています。... -
Enumerable
# slice _ before(pattern) -> Enumerator (124.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
...ます。
最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
Enumerable#to_a や Enumerable#map のようなメソッドを使うこ
ともできます。
//emlist[例][ruby]{
# 偶数要素をチャンクの先頭と見なす
[0,2,4,1,2,4,5,3,......のエントリーを順に取る
open("ChangeLog") {|f|
f.slice_before(/\A\S/).each {|e| pp e}
}
# 上と同じだが、パターンでなくブロックを使う
open("ChangeLog") {|f|
f.slice_before {|line| /\A\S/ === line }.each {|e| pp e}
}
# "svn proplist -R" の結果を分割する
#......rable#chunk_while のより簡単な例も参照)。
//emlist[][ruby]{
a = [0,2,3,4,6,7,9]
prev = a[0]
p a.slice_before {|e|
prev, prev2 = e, prev
prev2 + 1 != e
}.map {|es|
es.length <= 2 ? es.join(",") : "#{es.first}-#{es.last}"
}.join(",")
#=> "0,2-4,6,7,9"
//}
@see Enumerable#chunk, Enu...