[表示 : 全て 最新50 1-99 2ch.scのread.cgiへ]
Update time : 08/30 06:10 / Filesize : 9 KB / Number-of Response : 35
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

エクセル指向プログラミング



1 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 17:12:59.08 ID:e/0sucGI.net]
エクセル指向プログラミング(Excel Oriented Programming、EOP)は、ノンプログラマにとって最も直感的で習得が容易なプログラミングスタイルです。

ブログラマは難解な言語機能を覚えることなく、拡張が容易なソフトウェアを、簡単に開発することができます。

プログラムのすべてのデータは長さ可変の二次元配列の上で管理されます。この二次元配列を「シート」といい、配列の各要素を「セル」と言います。

シートはシングルトンオブジェクトです。すなわち、EOPでは単一のグローバル変数を上書きすることでプログラムの状態を更新します。

構造化データはすべて配列で表します。データ型などのスキーマはありません。どの行・どの列がなんのデータを表すのかは、その場その場で変更することができます。

行方向または列方向に連続するセルが一つのデータ構造を表します。したがって、構造化データの読み取りは

while(cell) {
// do something
cell = sheet[r][c++];
}

のように書けます。使い終わった領域は0またはnullで初期化しておきます。

ネストされた構造化データは、セルへの参照をセルに書き込みます。たとえば、多重配列を表現する場合は、ネストされた配列の先頭要素の座標をセルに書き込みます。

EOPでは、プログラマは好きなときに好きなデータ構造を使用することができます。既存のプログラミングスタイルのように、データ型やメソッドのシグネチャに、データ構造が制限されることがありません。

18 名前:デフォルトの名無しさん [2024/04/02(火) 19:06:12.99 ID:5dwwFNXN.net]
C言語なら、ポインタ型変数1個だけ使えばいいな

19 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 19:09:22.44 ID:7yjlHQas.net]
>>18
ポインタ理解できてないだろ

20 名前:デフォルトの名無しさん [2024/04/02(火) 19:10:55.75 ID:5dwwFNXN.net]
>>19


21 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 19:18:03.35 ID:JgXYUviJ.net]
>>20
ポインタ型変数一つじゃ実現不可って話

22 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 19:22:08.05 ID:kERS+9TD.net]
・配列の先頭アドレスを指すポインタ
・行数,列数を表す符号なし整数
・↑をまとめた構造体

23 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 19:38:20.00 ID:JgXYUviJ.net]
それをポインタ型変数1個って言うか?

24 名前:デフォルトの名無しさん [2024/04/02(火) 19:51:06.70 ID:oY83wibz.net]
>>21
なぜ?

25 名前:デフォルトの名無しさん [2024/04/02(火) 19:55:08.71 ID:vNvRaytj.net]
ネタスレで、そのネタを下回る知能のやつがああだこうだ言っているという地獄

26 名前:デフォルトの名無しさん [2024/04/02(火) 19:57:07.31 ID:GZPLkX8A.net]
ポインタ1個と即値だけでいけるがな



27 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 20:11:35.84 ID:abcHw/BD.net]
スタックポインタはいるだろ

28 名前:デフォルトの名無しさん [2024/04/02(火) 20:20:15.30 ID:rNuJc/A1.net]
スタックは要るな

29 名前:デフォルトの名無しさん [2024/04/02(火) 20:22:17.68 ID:rNuJc/A1.net]
いや、いらんわ
戻り先のアドレスは紙にでも書いときゃいい

30 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 20:33:07.24 ID:edguWIiV.net]
以外に伸びたなとおもったら違う方向か

31 名前:デフォルトの名無しさん mailto:sage [2024/04/03(水) 11:24:36.72 ID:07nBP01A.net]
エクセルでプログラムとかメンテナンス性が最悪だからおすすめしない

32 名前:デフォルトの名無しさん [2024/04/04(木) 03:34:46.18 ID:GlxXdEjq.net]
ぬるぽ

33 名前:デフォルトの名無しさん [2024/04/04(木) 03:48:45.01 ID:2O67KOQT.net]
データの読み書きは

while(cell = *p++) {
// do something
}

データ構造を扱いたい時は
1つのオブジェクトがいくつのフィールドを持つか決めておき

while(cell = *(p + size)) {
// do something
}

のようにする

途中で構造を変えたくなった時のために、
sizeは3つか4つ余分に確保しておくのがベストプラクティス

データ構造を入れ子にする場合や、サブルーチンを使う場合は、スタックを使う

C言語とか忘れた

34 名前:デフォルトの名無しさん mailto:sage [2024/04/04(木) 11:19:31.47 ID:AaDBa930.net]
つまんねーC言語モドキじゃなくて
Excel4マクロみたいに独自性を出していこうよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<9KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef