CloudExpression
CloudExpression["name"]
値が永続的にクラウドに保存される式を表す.
CloudExpression["http://…"], CloudExpression["https://…"]
指定されたURIのクラウド式を表す.
CloudExpression[base,part1,part2,…]
partiで指定されるクラウド式の一部を表す.
詳細とオプション
- CloudExpression["name"]を評価すると,即座にURIの部分が$CloudExpressionBaseの値で決定されるCloudExpression[uri]になる.
- クラウド式に保存される値は,任意のWolfram言語式でよい.
- 値がネストしたリストと連想からなるとき,一部の検索と更新は直接クラウドで行われる.
- CloudExpression[…][part1,part2,…]はクラウド式の指定部分の値を取り出す.
- CloudExpression[…][]はクラウド式全体の値を取り出す.
- CloudExpression[…][part1,part2,…]=value はクラウド式の一部の値を設定する.
- CloudExpressionオブジェクトには次の操作をすることができる.
-
Get クラウド式の完全な値を得る Put クラウド式に新たな完全な値を入れる Part 一部を表すクラウド式オブジェクトを返す Set クラウド式の一部に新たな値を割り当てる Unset クラウド式から一部を削除する AppendTo クラウド式内のリストまたは連想に加える AssociateTo 新たな値を連想内のキーに関連付ける AddTo,Increment,… クラウド式の一部を加えたり増分したりする DeleteCloudExpression クラウド式を削除する Length クラウド式の長さを返す KeyExistsQ キーがクラウド式内にあるかどうかをテストする SetOptions クラウド式に関連付けられたオプションを設定する Options クラウド式に関連付けられたオプションを得る SetPermissions クラウド式のパーミッションを設定する ClearPermissions クラウド式のパーミッションをクリアする - CloudExpression[…][[part1,part2,…]]はCloudExpression[…,part1,part2,…]を与える.ここからGetを使って値を取り出すことができる.
- クラウド式には,値がクラウドに保存される次のオプションがある.
-
PartProtection Automatic どの部分が変更から守られているか Permissions Automatic アクセス等のパーミッション - CreateCloudExpressionでクラウド式を作成した後,Optionsを使ってクラウド式のオプションを取り出し,SetOptionsを使って変更することができる.
- 連想では,変更可能な操作が欠落キーに適用されると,操作の適用前に連想の値が初期化される.
-
Set 欠落キーとSet内で指定された値を関連付ける AssociateTo 値を初期化して空の連想にする AppendTo 値を初期化して空リストにする AddTo, Increment, ... 値を初期化して0にする TimesBy, DivideBy 値を初期化して1にする
例題
すべて開くすべて閉じる例 (2)
スコープ (9)
AppendToを使って新たなキーを加える:
存在しないキーを検索するとFailureオブジェクトが返される:
PartProtectionがAutomaticに設定されているときにキー"c"に関連付けられた値を更新しようとすると,Failureオブジェクトが生成される:
PartProtectionの値をNoneに変えて任意の更新操作ができるようにする:
クラウド式は,機械精度数に対して操作している際はインプレースの追加をサポートする:
クラウド式は,結果が強制的に実数になるインプレースの割り算をサポートする:
クラウド式はLengthをサポートする:
クラウド式の部分もLengthをサポートする:
クラウド式はKeyExistsQをサポートする:
KeyExistsQもクラウド式の部分に使うことができる:
オプション (2)
PartProtection (1)
特性と関係 (8)
クラウド式に保存された式全体をPutで変更することができる:
既存の値はGetで取り出すことができる:
Get[CloudExpression[…]]は短縮形CloudExpression[…][]に等しい:
DeleteCloudExpressionはクラウド式を削除する:
AppendToはリストの末尾に新たな要素を加える:
AppendToはAssociationにも使うことができる:
AppendToは既存のキーに関連付けられた値を変更する:
AppendToは,キーがまだ存在しない場合は,連想の末尾に項目を加える:
AssociateToは既存の項目は並べ替えない:
Unsetで各リストの最終要素を削除する:
部分保護をNoneに設定する:
部分保護がNoneに設定されていると最初のリストを削除することができる:
クラウド式を使ってイベントを効率的に数えることができる.まず,クラウド式内の連想を保存することから始める:
ユーザのランダムな集合を増分する.値は,まだ存在しない場合は,増分前に自動的に0に初期化される:
クラウド式を使ってHTTPリクエスト等からメタデータを集めることができる.まず,クラウド式の連想を保存することから始める:
HTTPリクエストを表す連想のリストを準備する.それぞれがユーザ名とリクエストしたクライアントのユーザ・エージェントを含んでいる:
HTTPリクエストをしたクライアントを表すユーザをランダムに選んでメタデータを集める.値は,まだ存在しない場合は,AppendTo操作の前に自動的に空リストに初期化される:
FileByteCountを使ってクラウド式が使っているクラウドストレージを得る:
考えられる問題 (4)
クラウド式は,PrependToはサポートしない:
クラウド式内のネストした欠落キーに対する操作はサポートされていない:
スコアの値を欠落したユーザに関連付けると,失敗オブジェクトが返される:
必要なら,KeyExistsQを使って新たなキーについての値を初期化することができる:
ネストしたキーを挿入すると,Set操作の前に"last_score"が空の連想に自動的に初期化される:
PartProtection->Noneが設定されていないと,非原子的値の設定や削除を試みても失敗する:
SetOptionsを使って変更ができるようにする:
64ビットの機械整数または実数で表せない数は,クラウド式には保存できない:
拡張精度整数に対してインプレースの算術操作を行うと,整数が強制的に実数にされることがある:
拡張精度整数あるいは実数に対して算術操作が試みられ,その数が強制的に機械サイズの数にすることができないと,失敗オブジェクトが返されて操作は実行されない:
テキスト
Wolfram Research (2016), CloudExpression, Wolfram言語関数, https://reference.wolfram.com/language/ref/CloudExpression.html (2021年に更新).
CMS
Wolfram Language. 2016. "CloudExpression." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/CloudExpression.html.
APA
Wolfram Language. (2016). CloudExpression. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CloudExpression.html