156件ヒット
[1-100件を表示]
(0.035秒)
別のキーワード
種類
- インスタンスメソッド (84)
- 特異メソッド (36)
- 変数 (12)
- クラス (12)
- 定数 (12)
クラス
- CSV (24)
- Dir (12)
- Enumerator (24)
- File (12)
- Object (12)
-
Prime
:: EratosthenesGenerator (12) - StringIO (36)
モジュール
- Kernel (12)
検索結果
先頭5件
-
CSV
# rewind -> 0 (18135.0) -
IO#rewind に似ています。CSV#lineno を 0 にします。
...IO#rewind に似ています。CSV#lineno を 0 にします。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.lineno # => 0
csv.readline
csv.lineno # => 1
csv.rewind
csv.lineno # => 0
//}
@see IO#rewind... -
Enumerator
# rewind -> self (18131.0) -
列挙状態を巻き戻します。
...ジェクトが rewind メソッドを持つとき(respond_to?(:rewind) に
真を返すとき) は、その rewind メソッドを呼び出します。
@see Enumerator#next
//emlist[例][ruby]{
str = "xyz"
enum = str.each_byte
p enum.next # => 120
p enum.next # => 121
enum.rewind
p enum.next # =... -
Dir
# rewind -> self (18113.0) -
ディレクトリストリームの読み込み位置を先頭に移動させます。
...レクトリストリームの読み込み位置を先頭に移動させます。
@raise IOError 既に自身が close している場合に発生します。
//emlist[例][ruby]{
Dir.open("testdir") do |d|
d.read # => "."
d.rewind # => #<Dir:0x401b3fb0>
d.read # => "."
end
//}... -
Prime
:: EratosthenesGenerator # rewind -> nil (18113.0) -
列挙状態を巻き戻します。
...列挙状態を巻き戻します。
//emlist[例][ruby]{
require 'prime'
generator = Prime::EratosthenesGenerator.new
p generator.next #=> 2
p generator.next #=> 3
p generator.next #=> 5
generator.rewind
p generator.next #=> 2
//}... -
Kernel
$ $ stdin -> object (30.0) -
標準入力です。
...準入力です。
自プロセスの標準入力をリダイレクトしたいときは
$stdin に代入すれば十分です。
//emlist[例][ruby]{
# 標準入力の入力元 /tmp/foo に変更
$stdin = File.open("/tmp/foo", "r")
gets # 入力する
$stdin = STDIN # 元に戻......いなければいけません。
gets, readline, readlines, getc, readchar, tell, seek,
pos=, rewind, fileno, to_io, eof, each_line, each_byte,
binmode, closed?
//emlist[例][ruby]{
$stdin = Object.new
def $stdin.gets
"foo"
end
p gets() # => "foo"
//}
自プロセスだけでな......以下のように IO#reopen を使います。
//emlist[例][ruby]{
$stdin.reopen("/tmp/foo")
//}
また、リダイレクトしたあと
入力先をまた元に戻したい場合は以下のようにします。
//emlist[例][ruby]{
stdin_old = $stdin.dup # 元の $stdin を保存する... -
Enumerator
# next -> object (24.0) -
「次」のオブジェクトを返します。
...状態が既に最後へ到達しているとき
@see Enumerator#rewind
//emlist[例1][ruby]{
str = "xyz"
enum = str.each_byte
str.bytesize.times do
puts enum.next
end
# => 120
# 121
# 122
//}
//emlist[例2][ruby]{
str = "xyz"
enum = str.each_byte
begin
puts enum.next while......121
# 122
# iteration reached at end
puts enum.next
#=> 再度 StopIteration 例外が発生
//}
//emlist[例3: Kernel.#loop は StopIteration を捕捉します。][ruby]{
str = "xyz"
enum = str.each_byte
loop do
puts enum.next
end
# => 120
# 121
# 122
//}... -
File
# flock(operation) -> 0 | false (24.0) -
ファイルをロックします。
...no::EXXX が発生するかもしれません。
: LOCK_UN
アンロック。
この明示的なアンロック以外に、ファイルのcloseやRubyインタプリタの終了
(プロセスの終了)によっても自動的にロック状態は解除されます。
: LOCK_NB
ノンブロック......でに行っている場合にロックを行う
* 他のプロセスがロックしている状態で排他ロックを行う
//emlist[例1:][ruby]{
# 書き込みロック(write lock)を使用してカウンタを更新。
# ロック前にファイルを切り詰めてしまうので、
# モ......value = f.read.to_i + 1
f.rewind
f.write("#{value}\n")
f.flush
f.truncate(f.pos)
}
# 読み込みロック(read lock)を使用してカウンタを読み込み。
File.open("counter", "r") {|f|
f.flock(File::LOCK_SH)
p f.read
}
//}
//emlist[例2:][ruby]{
f = File.open("/tmp/foo", "w... -
StringIO (24.0)
-
文字列に IO と同じインタフェースを持たせるためのクラスです。
...ースを持たせるためのクラスです。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read #=> "hoge"
sio.rewind
p sio.read(1) #=> "h"
sio.write("OGE")
sio.rewind
p sio.read #=> "hOGE"
//}
=== 例外
StringIO......トは大抵の場合 IO オブジェクトと同じ例外を発生させます。
例えば次の例では write は IOError を発生させます。
//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge")
sio.close
sio.write("a")
# => in `write': not opened for writing (IOError)
//}... -
Object
:: DATA -> File (18.0) -
スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
...クトを保持しています。
__END__ を含まないプログラムにおいては DATA は定義されません。
=== 注意
* DATA.rewind で移動する読みとり位置は __END__ 直後ではなく、
スクリプトファイルの先頭です。
* スクリプトが標......孤帆遠影碧空尽
唯見長江天際流
=== 例2
sum = 0
DATA.each_line do |line|
sum += line.to_i
end
DATA.rewind
p DATA.gets # => "sum = 0¥n"
__END__
17
19
23
29
31
=== 例3
DATA.gets # => uninitialized constant DA......あったとします。
library.rb:
print DATA.gets
__END__
data from library
app.rb:
require 'library.rb'
__END__
data from app
このときシェルから次を実行すると
$ ruby app.rb
結果は以下のように出力されます。
data from app...