Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > a28c1d60d3683be735dfd702eff84942 > files > 301

ruby-docs-1.8.7.299-5.el6_0.1.i686.rpm

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html 
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>GDBM</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<link href="default.css" type="text/css" rel="stylesheet" />
<link href="refm177.html" rel="next" />
<link href="refm175.html" rel="prev" />
<link href="index.html" rel="start" />

</head>
<body>
<div class="navigator"><span class="navigator">[<a href="index.html">MAIN</a>][<a href="refm543.html">INDEX</a>]&nbsp;&nbsp;&nbsp;[<a href="index.html">TOP</a>][<a href="refm175.html">UP</a>][<a href="refm175.html">&lt;-PREV</a>][<a href="refm177.html">NEXT-&gt;</a>]</span></div>
<hr />

<h1><a name="L003016" id="L003016">GDBM</a></h1>
<p>GDBMファイルをアクセスするクラス.キー,データともに文字列でなければな
らないという制限と,データがファイルに保存されるという点を除いては
Hashクラスと全く同様に扱うことがでます.</p>
<h2><a name="L003017" id="L003017">スーパークラス:</a></h2>
<ul>
<li><a href="refm030.html">Object</a></li>
</ul>
<h2><a name="XXINVALIDXX" id="XXINVALIDXX">インクルードしているモジュール: </a></h2>
<ul>
<li><a href="refm065.html">Enumerable</a></li>
</ul>
<h2><a name="L003019" id="L003019">クラスメソッド:</a></h2>
<dl>
<dt><a name="L003020" id="L003020">new(dbname[, mode[, flags]])</a></dt>
<dt><a name="L003021" id="L003021">open(dbname[, mode[, flags]])</a></dt>
<dt><a name="L003022" id="L003022">open(dbname[, mode[, flags]]) {|db| ...}</a></dt>
<dd>
<p><var>dbname</var>で指定したデータベースをモードを
<var>mode</var>に設定してオープンします.<var>mode</var>の省
略値は0666です.<var>mode</var>として<code>nil</code>を指定
するとデータベースが存在しない時には新たなデータベースを作らず
<code>nil</code>を返します.</p>
<p><var>flags</var> には,GDBM::FAST, GDBM::SYNC, GDBM::NOLOCK を
の論理和を指定します.デフォルト値は指定なし(つまり0)です.</p>
<p>Ruby 1.8.2 以降では、flags に
GDBM::READER, GDBM::WRITER, GDBM::WRCREAT, GDBM::NEWDB
のどれかを与えて読み書きのモードを指定できます。
これらをどれも指定しなかった場合には、
GDBM::WRCREAT, GDBM::WRITER, GDBM::READER の順で試します。</p>
<p>ブロックを指定した場合,オープンしたGDBMオブジェクトを
引数にブロックを実行します.実行後GDBMオブジェクトをクローズ
し,openメソッドはブロックの結果を返します.これはちょうど
以下と同じです.</p>
<pre>dbm = GDBM.open(file)
begin
  yield dbm
ensure
  dbm.close
end</pre>
</dd>
</dl>
<h2><a name="L003023" id="L003023">メソッド:</a></h2>
<dl>
<dt><a name="L003024" id="L003024">self[key]</a></dt>
<dd>
<p><var>key</var>をキーとする値を返します.</p>
</dd>
<dt><a name="L003025" id="L003025">self[key]=value</a></dt>
<dd>
<p><var>key</var>をキーとして,<var>value</var>を格納します.</p>
</dd>
<dt><a name="L003026" id="L003026">cachesize = size</a></dt>
<dt><a name="L003027" id="L003027">clear</a></dt>
<dd>
<p>DBMファイルを空にします.</p>
</dd>
<dt><a name="L003028" id="L003028">close</a></dt>
<dd>
<p>DBMファイルをクローズします.以後の操作は例外を発生させます.</p>
</dd>
<dt><a name="L003029" id="L003029">delete(key)</a></dt>
<dt><a name="L003030" id="L003030">delete(key) {|key| ... }</a></dt>
<dd>
<p><var>key</var>をキーとする項目を削除します.</p>
<p>指定したキーが存在しなければnilを返します,このとき
ブロックを指定していれば,ブロックを評価します.</p>
</dd>
<dt><a name="L003031" id="L003031">delete_if { |key, value|  ...  }</a></dt>
<dt><a name="L003032" id="L003032">reject! { |key, value|  ...  }</a></dt>
<dd>
<p>ブロックを評価した値が真であれば該当する項目を削除します.</p>
</dd>
<dt><a name="L003033" id="L003033">each {|key, value|  ...  }</a></dt>
<dt><a name="L003034" id="L003034">each_pair {|key, value|  ...  }</a></dt>
<dd>
<p>各要素に対するイテレータ.</p>
</dd>
<dt><a name="L003035" id="L003035">each_key {|key|  ...  }</a></dt>
<dd>
<p>全てのkeyに対して繰り返すイテレータ.</p>
</dd>
<dt><a name="L003036" id="L003036">each_value {|value|  ...  }</a></dt>
<dd>
<p>全てのvalueに対して繰り返すイテレータ.</p>
</dd>
<dt><a name="L003037" id="L003037">empty?</a></dt>
<dd>
<p>データベースが空の時,真を返します.</p>
</dd>
<dt><a name="L003038" id="L003038">fastmode = bool</a></dt>
<dt><a name="L003039" id="L003039">syncmode = bool</a></dt>
<dd>
<p>オープンしているGDBMオブジェクトのモードを変更します.下記の定数
GDBM::FAST、GDBM::SYNC を参照してください.</p>
</dd>
<dt><a name="L003040" id="L003040">fetch(key[,ifnone])</a></dt>
<dt><a name="L003041" id="L003041">fetch(key) {|key| ... }</a></dt>
<dd>
<p>ハッシュと同じ</p>
</dd>
<dt><a name="L003042" id="L003042">has_key?(key)</a></dt>
<dt><a name="L003043" id="L003043">key?(key)</a></dt>
<dt><a name="L003044" id="L003044">include?(key)</a></dt>
<dt><a name="L003045" id="L003045">member?(key)</a></dt>
<dd>
<p>keyがデータベース中に存在する時,真を返します.</p>
</dd>
<dt><a name="L003046" id="L003046">has_value?(key)</a></dt>
<dt><a name="L003047" id="L003047">value?(value)</a></dt>
<dd>
<p>valueを値とする組がデータベース中に存在する時,真を返します.</p>
</dd>
<dt><a name="L003048" id="L003048">index(val)</a></dt>
<dd>
<p>ハッシュと同じ</p>
</dd>
<dt><a name="L003049" id="L003049">indexes(key_1, ... )  <a href="refm393.html">obsolete</a></a></dt>
<dt><a name="L003050" id="L003050">indices(key_1, ... )  <a href="refm393.html">obsolete</a></a></dt>
<dd>
<p>各引数の値をキーとする要素を含む配列を返します.</p>
</dd>
<dt><a name="L003051" id="L003051">invert</a></dt>
<dd>
<p>値からキーへのハッシュを返します.</p>
</dd>
<dt><a name="L003052" id="L003052">keys</a></dt>
<dd>
<p>データベース中に存在するキー全てを含む配列を返します.</p>
</dd>
<dt><a name="L003053" id="L003053">length</a></dt>
<dt><a name="L003054" id="L003054">size</a></dt>
<dd>
<p>データベース中の要素の数を返します.(注意:現在の実現では要素数を数
えるためにデータベースを全部検索します)</p>
</dd>
<dt><a name="L003055" id="L003055">reject {|key, value| ... }</a></dt>
<dd>
<p><a href="refm039.html">self.to_hash.reject</a> と同じです.ハッシュを返します.</p>
</dd>
<dt><a name="L003056" id="L003056">reorganize</a></dt>
<dd>
<p>GDBMでは,要素の削除を行ってもDBファイルのサイズは減少しません(削
除によって空いた領域は次の格納のために取っておかれます、).このメ
ソッドを呼び出すことでDBMファイルを新規に作り直し無駄な領域をなく
すことができます.</p>
<p>大量の削除を行ったときに,ディスクスペースの節約のために使用します.</p>
</dd>
<dt><a name="L003057" id="L003057">replace(other)</a></dt>
<dd>
<p>DBMの内容を <var>other</var> の内容で置き換えます.
<var>other</var> は each_pair メソッドを持つオブジェクトで
なければなりません.</p>
</dd>
<dt><a name="L003058" id="L003058">shift</a></dt>
<dd>
<p>データベース中の要素を一つ取り出し,データベースから削除します.</p>
</dd>
<dt><a name="L003059" id="L003059">store(key, val)</a></dt>
<dd>
<p>self[key]=val と同じです.<var>key</var>に対して<var>val</var>を格納します.</p>
</dd>
<dt><a name="L003060" id="L003060">sync</a></dt>
<dd>
<p>要素の変更をファイルに反映します.FASTモード
(GDBM#open() の第3引数にGDBM::FAST を指定)のときだけ意味があります.</p>
<p>注) GNU gdbm version 1.8 以降よりFASTモードがデフォルトになりました.</p>
</dd>
<dt><a name="L003061" id="L003061">to_a</a></dt>
<dd>
<p>DBMの各要素を格納した配列を返します.返される配列の1つの要素は 
[key, val] です.(つまり配列の配列を返します).</p>
</dd>
<dt><a name="L003062" id="L003062">to_hash</a></dt>
<dd>
<p>DBMの各要素を格納したハッシュを返します.</p>
</dd>
<dt><a name="L003063" id="L003063">update(other)</a></dt>
<dd>
<p>DBMと<var>other</var>の内容をマージします.重複するキーに対応する値は
<var>other</var>の内容で上書きされます.</p>
<p><var>other</var>は each_pair メソッドを持つオブジェクトでなければなりま
せん.</p>
</dd>
<dt><a name="L003064" id="L003064">values</a></dt>
<dd>
<p>データベース中に存在する値全てを含む配列を返します.</p>
</dd>
</dl>
<h2><a name="L003065" id="L003065">定数</a></h2>
<dl>
<dt><a name="L003066" id="L003066">GDBM::VERSION</a></dt>
<dd>
<p>libgdbm のバージョン情報の文字列です.</p>
</dd>
</dl>
<p>以下の定数は open の第3引数に指定します.</p>
<dl>
<dt><a name="L003067" id="L003067">GDBM::FAST</a></dt>
<dd>
<p>書き込みの結果が,ディスク上のファイルにすぐに反映しなくなります.
このモードのときに結果を明示的にファイルに反映させるには GDBM#sync 
メソッドを呼びます.libgdbm version 1.8.0 以降ではこのモードがデフォルト
です.</p>
</dd>
<dt><a name="L003068" id="L003068">GDBM::SYNC</a></dt>
<dd>
<p>書き込みの結果が,ディスク上のファイルにすぐに反映されます.
libgdbm version 1.8.0 以前のデフォルトモードです.</p>
<p>この定数は libgdbm version 1.8.0 以降より有効です</p>
</dd>
<dt><a name="L003069" id="L003069">GDBM::NOLOCK</a></dt>
<dd>
<p>通常,他のプロセスがDBをオープンしている最中にオープンを行うと
Errno::EWOULDBLOCK(またはErrno::EAGAIN)例外が発生します.このフラグを
指定していれば,他のプロセスがオープンしている最中でも同時オープンする
ことができます.</p>
<p>この定数は libgdbm version 1.8.0 以降より有効です.</p>
</dd>
<dt><a name="L003070" id="L003070">GDBM::READER (Ruby 1.8.2 以降)</a></dt>
<dd>
<p>読み込みモードでオープンします.</p>
</dd>
<dt><a name="L003071" id="L003071">GDBM::WRITER (Ruby 1.8.2 以降)</a></dt>
<dd>
<p>書き込みモードでオープンします.</p>
</dd>
<dt><a name="L003072" id="L003072">GDBM::WRCREAT (Ruby 1.8.2 以降)</a></dt>
<dd>
<p>書き込みモードで、すでにファイルが存在しなかったら作ります.</p>
</dd>
<dt><a name="L003073" id="L003073">GDBM::NEWDB (Ruby 1.8.2 以降)</a></dt>
<dd>
<p>書き込みモードで、すでにファイルが存在したら削除してから作り直します.</p>
</dd>
</dl>

<hr />
<div class="navigator"><span class="navigator">[<a href="index.html">MAIN</a>][<a href="refm543.html">INDEX</a>]&nbsp;&nbsp;&nbsp;[<a href="index.html">TOP</a>][<a href="refm175.html">UP</a>][<a href="refm175.html">&lt;-PREV</a>][<a href="refm177.html">NEXT-&gt;</a>]</span></div>

</body>
</html>