コンテンツにスキップ

MAP操作系

関数名 引数 戻り値
MAP_GET string, string string
MAP_HAS string, string int
MAP_SET string, string, string int
MAP_REMOVE string, string int
MAP_SIZE string int
MAP_CLEAR string int

API

string MAP_GET mapName, key
int MAP_HAS mapName, key
int MAP_SET mapName, key, value
int MAP_REMOVE mapName, key
int MAP_SIZE mapName
int MAP_CLEAR mapName

MAP(連想配列,Dictionary<string,string>)に保存されたデータを操作する関数です。

  • MAP_GETmapNameに対応するMAPkeyに対応する値を返します。存在していない場合、またはMAP自体が存在しない場合も、空文字列を返します。例外は発生しないので、必要があればMAP_HASMAP_EXISTを使ってください。
  • MAP_HASmapNameに対応するMAPkeyの存否を確認し、存在する場合1を返す。そうでない場合0を返します。MAP自体が存在しない場合、-1を返します。
  • MAP_SETmapNameに対応するMAPkeyに対応する値をvalueで上書きします。keyが存在しない場合keyを追加し、1を返します。MAP自体が存在しない場合、-1を返します。
  • MAP_REMOVEmapNameに対応するMAPkeyに対応する値を削除し、1を返します。MAP自体が存在しない場合、-1を返します。
  • MAP_SIZEmapNameに対応するMAPのキー・値ペアの数を返します。MAP自体が存在しない場合、-1を返します。
  • MAP_CLEARmapNameに対応するMAPのキー・値ペアをすべて削除し、1を返します。MAP自体が存在しない場合、-1を返します。

ヒント

命令、式中関数両方対応しています。

MAIN.ERB
@SYSTEM_TITLE 

    MAP_CREATE "MyMap"
    PRINTFORML 「MyMap」のサイズ:{MAP_SIZE("MyMap")}
    MAP_SET "MyMap", "Id", "username"
    MAP_SET "MyMap", "PassWord", "123456"
    PRINTFORML ID:%MAP_GET("MyMap", "Id")% Password:%MAP_GET("MyMap", "PassWord")%
    PRINTFORML Name?:{MAP_HAS("MyMap", "Name")}
    PRINTFORML 「MyMap」のサイズ:{MAP_SIZE("MyMap")}
    MAP_CLEAR "MyMap"
    PRINTFORML 「MyMap」のサイズ:{MAP_SIZE("MyMap")}

    ONEINPUT
結果
「MyMap」のサイズ:0
ID:username Password:123456
Name?:0
「MyMap」のサイズ:2
「MyMap」のサイズ:0