Table クラス

 2011-07-28
別エディタでデータベースとか管理する人向け Table クラス。
速度が必要な人は、配列で管理した方が速いです。
書き出しだけで、読み込みはできません。
class Table
attr_reader :xsize, :ysize, :zsize
def initialize(*args)
@size = args.size
@xsize = args[0]
@ysize = args[1] || 1
@zsize = args[2] || 1
@data = Array.new(@xsize * @ysize * @zsize, 0).pack('v*')
end
def [](x, y = 0, z = 0)
index = x + y * @xsize + @xsize * @ysize * z
@data.unpack("x#{2*index}v").first
end
def []=(x, y, z, value)
index = x + y * @xsize + @xsize * @ysize * z
@data[2 * index, 2] = [value].pack('v')
end

def data
@data.unpack("v*")
end

def _dump(limit)
[@size, @xsize, @ysize, @zsize, @xsize * @ysize * @zsize].pack('V5') + @data
end
end


関連リンク
CSV から 2次元配列の RVDATA を作成するツール
>> CSV -> RVDATA
>> ダウンロード

CSV からクラスとそのオブジェクトの RVDATA を作成するツール
>> メタプログラミング
>> ダウンロード

CSVとかワークシートを分けると配列の入れ子とかもできそう。
>> Ruby で OpenOffice.org Calc
コメント




 

 ※ コメント内にURLを含めるには、バッククォート(`)をURLの直前に付け加えてください。


管理人のみ閲覧許可 [?]

管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/08/07 23:15】 | | [編集]
あー、その記事はエクセルを使ったやつなので全く別のものですね。
これは、xls ファイルに変換する実験で、
csv2data は、csv ファイルに変換するツールなので。
どちらかというと、こっちの記事が近いかもです。
`http://cacaosoft.blog42.fc2.com/blog-entry-493.html

データベースとCSVの相互変換を試してみたので、
よろしければこちらを参考にしてください。
`http://cacaosoft.blog42.fc2.com/blog-entry-564.html
【2011/08/07 16:56】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/08/07 00:04】 | | [編集]
使用しているのは、2次元配列に変換するツールですよね?
それだと、データベースの構造と違いますので、
データベースへ反映させるということはできませんよ。

もう1つの方もいくつか対応してない部分があるので、
そちらでもデータベースの変更はできません。

csv2data は、独自のデータベースを作ることを目的に作られているので、
デフォルトの変更はなんとも。。。
スクリプト上で配列に値を入力すると編集し辛かったり、
見づらかったりするので、その対策ツールなので。
【2011/08/06 22:51】 | CACAO | [編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
【2011/08/05 02:54】 | | [編集]
トラックバック
トラックバックURL:
http://cacaosoft.blog42.fc2.com/tb.php/557-95cc33c0
≪ トップページへこのページの先頭へ  ≫
カレンダー
01 << 2017/02 >> 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 - - - -

カテゴリー
最近の記事
02/14 お返事
01/21 お返事
01/12 更新情報
11/28 お返事
08/08 お返事

最近のコメント
01/21 お返事
11/30 z座標
11/20 z座標
08/03 お返事
02/24 お返事

タグクラウド

リンク