【Caché】変態M言語【U-MUMPS】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/12/21(水) 17:51:39.41そんなMスレです。
0002デフォルトの名無しさん
2011/12/21(水) 17:52:33.590003デフォルトの名無しさん
2011/12/21(水) 18:17:57.040004デフォルトの名無しさん
2011/12/21(水) 18:24:28.080005デフォルトの名無しさん
2011/12/21(水) 18:36:56.64とりあえず最大手IntersystemsのCaché
ワンライセンスの評価版がDL出来る。
http://www.intersystems.co.jp/cache/index.html
日本Mテクノロジー学会
http://www.mta.gr.jp/
0006デフォルトの名無しさん
2011/12/21(水) 19:35:02.510007デフォルトの名無しさん
2011/12/21(水) 19:41:00.36何か語っていってくれよ。医療かい?
0008デフォルトの名無しさん
2011/12/21(水) 21:35:29.440009デフォルトの名無しさん
2011/12/21(水) 23:47:17.52滅茶苦茶早い。
BigTableなんかも結局は表だけど、こいつは多次元的にデータを持てる。
例えば
s ^x("a")=1
s ^x("a","data")=""
s ^x("a","link","uri")="www.google.com"
s ^x("a","link","schema")="http"
s ^x("a","tiitle")="ぐーぐる"
などなど好き勝手に組める。あんまり上手い例が浮かばなかったが。
しかもこいつらは、コード上で変数と同じ扱い。ただ永続する変数。
0010デフォルトの名無しさん
2011/12/22(木) 07:06:43.32キーの一部でも参照できるのかな?
しかし使い道は難しいね。
0011デフォルトの名無しさん
2011/12/22(木) 09:49:03.56言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0012デフォルトの名無しさん
2011/12/22(木) 10:36:18.23ネームスペースってのがあって、こいつが実ディスクのどっかに乗る。これはMからは通常意識しない。
M上からは、^["xxx","yyy"]xと言うふうにアクセスできる。今は^|"xxx"|xか。
つまり>>9は、そのネームスペースを省略した形。
で、さらに"xxx"には、変数も使える。ってか、PHPで言う$$のような感じのアクセスさえ出来る。
つまり、いわゆるプライマリキーにあたる部分で、ネームスペースを切っとけば、いくらでも拡張可能。プログラムからは透過的に扱える。
例えば、物品番号が奇数番はDATAo、偶数番はDATAeみたいな感じで。かつ五千番を超えるものはそれぞれDATAo5…とか。
実際には、物品番号を引数にした、ネームスペース決定関数なんかを通じて、変数NSに適当なネームスペースをいれてもらった上で、
プログラム上からは
^|NS|x
と使う。
0013デフォルトの名無しさん
2011/12/22(木) 10:40:21.28もちろん。先頭、最後、中心、どこにあろうが、速度変化なしで一発で取れる。
その下のキーの列挙などなども可能。
ただし、何番め、と言う取り方は出来ない。けど、通常しない。
第三キーへ直でアクセスしたければ、インデックステーブル的な物を自分で作るしかないね。
0014デフォルトの名無しさん
2011/12/24(土) 06:06:41.73で、データへみたらそのままロックかけて、出荷数を更新とか。
おとにかく手軽。
なお、pコード系の中間言語になってるから、中身も早い。
そういえば、sって命令自然と使ってたが、これは古き良きBasicのLETみたいなもん。
^は、グローバル(永続変数)の意。
0015デフォルトの名無しさん
2011/12/27(火) 09:22:34.43医療機関だよ。
今は、しがないjavaプログラマ。(^_^;)
0016デフォルトの名無しさん
2011/12/27(火) 09:27:42.210017デフォルトの名無しさん
2011/12/28(水) 01:53:25.42やっぱり医療は多いですね。
某元電工さんがやっぱり強い。
>>16
kvpよりも、トランザクションには多少強いかも。
あと、kvpと大きく違うかな、と思う所は、
データも下位ノードも同時に持てる。
^DATA=3
^DATA(0)="aaa"
^DATA(1)="bbb"
^DATA(2)="ccc"
とか持てて、
Lock +^DATA
で、それ全体に排他かけて中身更新して、なんてのも可能。
Lockは別に最上位でかける必要はなくて、Lock +^DATA(1)とか、下位ノードだけも掛けられる。
ただOracleとかみたいな、ロックエスカレーションみたいな便利な機能は無いので、個別に対応。
■ このスレッドは過去ログ倉庫に格納されています