るりまサーチ

最速Rubyリファレンスマニュアル検索!
83件ヒット [1-83件を表示] (0.164秒)
トップページ > クエリ:/[x] > クエリ:foreach[x]

別のキーワード

  1. rexml/document new
  2. rexml/document write
  3. rexml/document to_s
  4. rexml/document clone
  5. rexml/document node_type

ライブラリ

クラス

モジュール

キーワード

検索結果

IO.foreach(path, rs = $/, chomp: false) -> Enumerator (18232.0)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

...場合、発生します。

/
/emlist[例:rs 指定なし][ruby]{
IO.write("testfile", "line1\nline2,\nline3\n")
IO.foreach("testfile") # => #<Enumerator: IO:foreach("testfile")>
IO.foreach("testfile") { |x| print "GOT ", x }
# => GOT line1
# GOT line2,
# GOT line3
/
/}

/
/emlist[例:カンマを行...
...ne1,line2,line3")
IO.foreach("testfile", ",") { |x| puts "GOT #{x}" }
# => GOT line1,
# GOT line2,
# GOT line3
/
/}

/
/emlist[例: 各行の末尾から "\n", "\r", または "\r\n" を取り除く(chomp = true)][ruby]{
IO.write("testfile", "line1\nline2,\nline3\n")
IO.foreach("testfile", chomp:...
...true) { |x| print "GOT ", x }
# => GOT line1GOT line2,GOT line3
/
/}

@see $/...

IO.foreach(path, rs = $/, chomp: false) {|line| ... } -> nil (18232.0)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

...場合、発生します。

/
/emlist[例:rs 指定なし][ruby]{
IO.write("testfile", "line1\nline2,\nline3\n")
IO.foreach("testfile") # => #<Enumerator: IO:foreach("testfile")>
IO.foreach("testfile") { |x| print "GOT ", x }
# => GOT line1
# GOT line2,
# GOT line3
/
/}

/
/emlist[例:カンマを行...
...ne1,line2,line3")
IO.foreach("testfile", ",") { |x| puts "GOT #{x}" }
# => GOT line1,
# GOT line2,
# GOT line3
/
/}

/
/emlist[例: 各行の末尾から "\n", "\r", または "\r\n" を取り除く(chomp = true)][ruby]{
IO.write("testfile", "line1\nline2,\nline3\n")
IO.foreach("testfile", chomp:...
...true) { |x| print "GOT ", x }
# => GOT line1GOT line2,GOT line3
/
/}

@see $/...

IO.foreach(path, rs = $/) -> Enumerator (18226.0)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

...場合、発生します。

/
/emlist[例:rs 指定なし][ruby]{
IO.write("testfile", "line1\nline2,\nline3\n")
IO.foreach("testfile") # => #<Enumerator: IO:foreach("testfile")>
IO.foreach("testfile") { |x| print "GOT ", x }
# => GOT line1
# GOT line2,
# GOT line3
/
/}

/
/emlist[例:カンマを行...
...の区切りに指定( rs = "," )][ruby]{
IO.write("testfile", "line1,line2,line3")
IO.foreach("testfile", ",") { |x| puts "GOT #{x}" }
# => GOT line1,
# GOT line2,
# GOT line3
/
/}


@see $/...

IO.foreach(path, rs = $/) {|line| ... } -> nil (18226.0)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

...場合、発生します。

/
/emlist[例:rs 指定なし][ruby]{
IO.write("testfile", "line1\nline2,\nline3\n")
IO.foreach("testfile") # => #<Enumerator: IO:foreach("testfile")>
IO.foreach("testfile") { |x| print "GOT ", x }
# => GOT line1
# GOT line2,
# GOT line3
/
/}

/
/emlist[例:カンマを行...
...の区切りに指定( rs = "," )][ruby]{
IO.write("testfile", "line1,line2,line3")
IO.foreach("testfile", ",") { |x| puts "GOT #{x}" }
# => GOT line1,
# GOT line2,
# GOT line3
/
/}


@see $/...

Net::POP3.foreach(address, port = nil, account, password, isapop=false) {|mail| .... } -> () (18119.0)

POP セッションを開始し、 サーバ上のすべてのメールを取りだし、 個々のメールを引数としてブロックを呼びだします。

...コードと同様の処理をします。
require 'net/pop'

Net::POP3.start(address, port, account, password, isapop=false) {|pop|
pop.each_mail do |m|
yield m
end
}

使用例:

require 'net/pop'

Net::POP3.foreach('pop.example.com', 110,
'YourAccount...

絞り込み条件を変える

net/pop (6072.0)

このライブラリは、POP3 (Post Office Protocol version 3) を 用いてPOPサーバからメールを受信する機能を提供するライブラリです。

...'inbox/1' 'inbox/2'... に
書きこみ、サーバ上からメールを消します。

'pop.example.com' は適当なPOP3のサーバのホスト名に、
'YourAccount' と 'YourPassword' は適当なアカウント名とパスワード
に適宜読みかえてください。

require 'net/pop'...
....empty?
$stderr.puts 'no mail.'
else
pop.mails.each_with_index do |m, idx| # 各メッセージにアクセスする
File.open("inbox/#{idx + 1}", 'w') {|f|
f.write m.pop
}
m.delete
end
$stderr.puts "#{pop.mails.size} mails popped."
end
pop.finish...
...t/pop'

# use APOP authentication if $isapop == true
pop = Net::POP3.APOP($isapop).new('apop.example.com', 110)
pop.start('YourAccount', 'YourPassword') {|pop|
# 残りのコードは同じ
}

この方法はクラス自体を変えるので、クラスメソッドの start や foreach...

NEWS for Ruby 2.4.0 (3234.0)

NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...able#sum を追加 12217
* Enumerable#uniq を追加 11090

* Enumerator::Lazy
* Enumerator::Lazy#chunk_while を追加 https://github.com/ruby/ruby/pull/1186
* Enumerator::Lazy#uniq を追加 11090

* File
* File.empty? を追加 9969

* Float
* Float#ceil, Float#floor, Fl...
...half には :even, :up, :down が指定可能です。 12548 12958 12953

* IO
* IO#gets, IO#readline, IO#each_line, IO#readlines, IO.foreach
chomp というキーワード引数を受け付けるようになりました。12553

* Kernel
* Kernel#clone は freeze とい...
...true/false を返し、バックリファレンスを生成しません。
* Onigmo 6.0.0 に更新 (Ruby 2.4.0)
* Onigmo 6.1.1 に更新 (Ruby 2.4.1)
* 非包含オペレータ(absence operator)をサポートしました https://github.com/k-takata/Onigmo/issues/82

* Regexp/Strin...

CSV (48.0)

このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。

...す。

=== 読み込み

require 'csv'

# ファイルから一行ずつ
CSV.foreach("path/to/file.csv") do |row|
# use row here...
end

# ファイルから一度に
arr_of_arrs = CSV.read("path/to/file.csv")

# 文字列から一行ずつ
CSV.parse("CSV,data,String") do |row|...
...から一行ずつ
arr_of_arrs = CSV.parse("CSV,data,String")

=== 書き込み

require 'csv'

# ファイルへ書き込み
CSV.open("path/to/file.csv", "wb") do |csv|
csv << ["row", "of", "CSV", "data"]
csv << ["another", "row"]
# ...
end

# 文字列へ書き込み
csv_...
...r Encoding.

Some transcoding must take place, of course, to accomplish this multiencoding
support. For example, <tt>:col_sep</tt>, <tt>:row_sep</tt>, and
<tt>:quote_char</tt> must be transcoded to match your data. Hopefully this
makes the entire process feel transparent, since CSV's defaults shou...

logger (48.0)

ログを記録するためのライブラリです。

...er")
logger.info("Program started")
logger.warn("Nothing to do!")

path = "a_non_existent_file"

begin
File.foreach(path) do |line|
unless line =~ /^(\w+) = (.*)$/
logger.error("Line in wrong format: #{line.chomp}")
end
end
rescue => err
logger.fatal("Caught...
...17-12-07T02:22:53.649222 #11601] FATAL -- : No such file or directory @ rb_sysopen - a_non_existent_file (Errno::ENOENT)
logger_sample.rb:12:in `foreach'
logger_sample.rb:12:in `<main>'

これは log.level が Logger::WARN になっているためです。WARN、
ERROR、FATALログのみが記...
...

=== 使い方

==== loggerの作成

以下のいずれかの方法でloggerを作成する事ができます(Logger.new も参照)。

1. STDERR/STDOUTに出力するように指定

require 'logger'
logger = Logger.new(STDERR)
logger = Logger.new(STDOUT)

2. ログファイル名を...

Enumerable#chunk {|elt| ... } -> Enumerator (36.0)

要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。

...lt| key }.each {|key, ary| ... }
enum.chunk(initial_state) {|elt, state| key }.each {|key, ary| ... }

例として、整数列を連続する奇数/偶数に分ける例を見てみます。
「n.even?」の値が切り替わるところで区切られているのがわかるでしょう。
[3,...
...含まれる単語を先頭の文字ごとに数えています。
# line.ord は先頭の文字のコードポイントを返す
open("/usr/share/dict/words", "r:iso-8859-1") {|f|
f.chunk {|line| line.ord }.each {|ch, lines| p [ch.chr, lines.length] }
}
#=> ["\n", 1]
# ["A", 1327]...
...# "\n"]
# ...

テキストを空行で区切られた段落に分けたい場合にも nil が使えます。
File.foreach("README").chunk {|line|
/
\A\s*\z/ !~ line || nil
}.each {|_, lines|
pp lines
}

「:_alone」は要素を素通ししたい場合に用います。
...
...ため、eachだと以下のようになります。

enum.chunk {|elt| key }.each {|key, ary| ... }

例として、整数列を連続する奇数/偶数に分ける例を見てみます。
「n.even?」の値が切り替わるところで区切られているのがわかるでしょう。
[3,...

絞り込み条件を変える

Enumerable#chunk(initial_state) {|elt, state| ... } -> Enumerator (36.0)

要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。

...lt| key }.each {|key, ary| ... }
enum.chunk(initial_state) {|elt, state| key }.each {|key, ary| ... }

例として、整数列を連続する奇数/偶数に分ける例を見てみます。
「n.even?」の値が切り替わるところで区切られているのがわかるでしょう。
[3,...
...含まれる単語を先頭の文字ごとに数えています。
# line.ord は先頭の文字のコードポイントを返す
open("/usr/share/dict/words", "r:iso-8859-1") {|f|
f.chunk {|line| line.ord }.each {|ch, lines| p [ch.chr, lines.length] }
}
#=> ["\n", 1]
# ["A", 1327]...
...# "\n"]
# ...

テキストを空行で区切られた段落に分けたい場合にも nil が使えます。
File.foreach("README").chunk {|line|
/
\A\s*\z/ !~ line || nil
}.each {|_, lines|
pp lines
}

「:_alone」は要素を素通ししたい場合に用います。
...

Syslog (30.0)

UNIXのsyslogのラッパーモジュール。 syslog の詳細については syslog(3) を参照してください。

...d seconds!", 100)
Syslog.close
# 書き込まれているか確かめる。
# 但し、実行環境によってログの場所が違う。くわしくはsyslog.confを参照。
File.foreach('/var/log/system.log'){|line|
line.chomp!
if /syslogtest/ =~ line
puts line
end
}...

Syslog.#mask -> Integer | nil (30.0)

ログの優先度のマスクを取得または設定します。 マスクは永続的であり、 Syslog.openやSyslog.close ではリセットされません。

...'/var/log/ftp.log'

Syslog.open('ftpd', LOG_PID | LOG_NDELAY, LOG_FTP)
Syslog.mask = Syslog::LOG_UPTO(LOG_ERR)

[ LOG_CRIT, LOG_ERR, LOG_WARNING,
LOG_NOTICE, LOG_INFO, LOG_DEBUG ].each_with_index { |c, i|
Syslog.log(c, "test for syslog FTP #{c}, #{i}")
}
Syslog.close
File.foreach...
...(log){|line|
print line if line =~ /FTP/
}...

Syslog.#mask=(mask) (30.0)

ログの優先度のマスクを取得または設定します。 マスクは永続的であり、 Syslog.openやSyslog.close ではリセットされません。

...'/var/log/ftp.log'

Syslog.open('ftpd', LOG_PID | LOG_NDELAY, LOG_FTP)
Syslog.mask = Syslog::LOG_UPTO(LOG_ERR)

[ LOG_CRIT, LOG_ERR, LOG_WARNING,
LOG_NOTICE, LOG_INFO, LOG_DEBUG ].each_with_index { |c, i|
Syslog.log(c, "test for syslog FTP #{c}, #{i}")
}
Syslog.close
File.foreach...
...(log){|line|
print line if line =~ /FTP/
}...

Syslog.#open!(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self (30.0)

開いていた syslog を最初にクローズする点を除いてSyslog.#open と同じです。

...log.open!("syslogtest2")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 200)
rescue RuntimeError => err
# RuntimeError は発生しない。
puts err
end
File.foreach('/var/log/system.log'){|line|
print line if line =~ /the sky is/
}

@see Syslog.#open...

絞り込み条件を変える

Syslog.#reopen(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self (30.0)

開いていた syslog を最初にクローズする点を除いてSyslog.#open と同じです。

...log.open!("syslogtest2")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 200)
rescue RuntimeError => err
# RuntimeError は発生しない。
puts err
end
File.foreach('/var/log/system.log'){|line|
print line if line =~ /the sky is/
}

@see Syslog.#open...

Open3 (24.0)

プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。

...け取る。

require "open3"

stdin, stdout, stderr = *Open3.popen3('nroff -man')
# こちらから書く
Thread.fork {
File.foreach('/usr/man/man1/ruby.1') do |line|
stdin.print line
end
stdin.close # または close_write
}
# こちらから読む
stdout.each do...