るりまサーチ

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

別のキーワード

  1. stringio read
  2. _builtin read
  3. io read
  4. csv read
  5. tuple read

ライブラリ

オブジェクト

検索結果

<< 1 2 3 > >>

Readline::HISTORY.shift -> String (21119.0)

ヒストリの最初の内容を取り出します。 最初の内容は、ヒストリから取り除かれます。

...発生します。

例:

require "readline"

Read
line::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.shift #=> "foo"
p Readline::HISTORY.shift #=> "bar"
p Readline::HISTORY.shift #=> "baz"

@see Readline::HISTORY.push、Readline::HISTORY.pop、
Read
line::HISTORY.delete_at...

Thread::Queue#shift(non_block = false) -> object (18101.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

...hreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

th1.join
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'...
...q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

begin
th1.join
q.pop(true)
rescue => e
p e
end

# => resource1
# resource2
# resource3
# => #<ThreadError: queue empty>
# => "queue e...

Thread::SizedQueue#shift(non_block = false) -> object (18101.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

...再開させます。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resourc...
...'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}

begin
th1.join
q.pop(true)
rescue => e
p e
p e.message
end

# => resource1
# resource2
# resource3
# => #<ThreadErro...
...r: queue empty>
# => "queue empty"
//}

@see Thread::Queue#pop...

CSV#shift -> Array | CSV::Row (15107.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

...しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。

//emlist[例][ruby]{
require "csv"

csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "row1_2"]

__END__
header1,header2
row1_1,row1_2
//}...

CSV#readline -> Array | CSV::Row (3107.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

...しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。

//emlist[例][ruby]{
require "csv"

csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "row1_2"]

__END__
header1,header2
row1_1,row1_2
//}...

絞り込み条件を変える

Readline::HISTORY.delete_at(index) -> String | nil (3016.0)

index で指定したインデックスの内容をヒストリから削除し、その内容を返します。 該当する index の内容がヒストリになければ、 nil を返します。 index に 0 を指定すると Readline::HISTORY.shift と同様に最初の入力内容を削除します。 また、 -1 は最後の入力内容というように、index に負の値を指定することで、 最後から入力内容を取得することもできます。 index が -1 の場合は Readline::HISTORY.pop と同様に動作します。

...すると Readline::HISTORY.shift
と同様に最初の入力内容を削除します。
また、 -1 は最後の入力内容というように、index に負の値を指定することで、
最後から入力内容を取得することもできます。
index が -1 の場合は Readline::HISTORY...
...のヒストリのインデックスを指定します。

@raise NotImplementedError サポートしていない環境で発生します。

例:

require "readline"

Read
line::HISTORY.push("foo", "bar", "baz")
Read
line::HISTORY.delete_at(1)
p Readline::HISTORY.to_a #=> ["foo", "baz"]...

Readline::HISTORY.pop -> String (3006.0)

ヒストリの最後の内容を取り出します。 最後の内容は、ヒストリから取り除かれます。

...で発生します。

例:

require "readline"

Read
line::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.pop #=> "baz"
p Readline::HISTORY.pop #=> "bar"
p Readline::HISTORY.pop #=> "foo"

@see Readline::HISTORY.push、Readline::HISTORY.shift
Read
line::HISTORY.delete_at...

Thread::ConditionVariable (3006.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...クラスです。

以下も ConditionVariable を理解するのに参考になります。

https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF

=== Condition Variable とは

あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いてい...
...ex = Mutex.new
cv = ConditionVariable.new

a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}

b = Thread.start {
mutex.synchronize {
# 上の...
...unt == 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end

alias send enq
alias recv deq
end

if __FILE__ == $0
q = TinyQueue.new(1)
foods = 'Apple Banana Strawberry Udon Rice Milk'.split
l = []

th = Thread.new {
for obj in...

Thread::Queue#close -> self (3006.0)

キューを close します。close 済みのキューを再度 open することはできません。

...うに動作します。

* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェ...
...クトを返します

また、ClosedQueueError は StopIteration を継承しているため、
close する事でループから脱出する事もできます。

例:

q = Queue.new
Thread.new{
while e = q.deq # wait for nil to break loop
# ...
end
}
q.close...

Thread::Queue#deq(non_block = false) -> object (3001.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

...hreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

th1.join
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'...
...q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

begin
th1.join
q.pop(true)
rescue => e
p e
end

# => resource1
# resource2
# resource3
# => #<ThreadError: queue empty>
# => "queue e...

絞り込み条件を変える

<< 1 2 3 > >>