hashInvert

構文
hashInvert( Var hash[] )
引数
hash
キーと値を入れ替える連想配列(参照引数)
戻値

プログラム

////////////////////////////////////////////////// // 【引数】 // hash : キーと値を入れ替える連想配列(参照引数) // 【戻値】 // ////////////////////////////////////////////////// PROCEDURE hashInvert(Var hash[]) HASHTBL tmp DIM cnt = LENGTH(hash) FOR n = 0 TO cnt - 1 tmp[hash[n, HASH_VAL]] = hash[n, HASH_KEY] NEXT hash = HASH_REMOVEALL FOR n = 0 TO cnt - 1 hash[tmp[n, HASH_KEY]] = tmp[n, HASH_VAL] NEXT FEND

プログラム実行例

連想配列のキーと値を入れ替える

HASHTBL fruits fruits["apple"] = "りんご" fruits["grape"] = "ぶどう" fruits["cherry"] = "さくらんぼ" fruits["peach"] = "もも" fruits["banana"] = "バナナ" hashInvert(fruits) FOR n = 0 TO LENGTH(fruits) - 1 PRINT fruits[n, HASH_KEY] + ":" + fruits[n, HASH_VAL] NEXT ////////////////////////////////////////////////// // 【引数】 // hash : キーと値を入れ替える連想配列(参照引数) // 【戻値】 // ////////////////////////////////////////////////// PROCEDURE hashInvert(Var hash[]) HASHTBL tmp DIM cnt = LENGTH(hash) FOR n = 0 TO cnt - 1 tmp[hash[n, HASH_VAL]] = hash[n, HASH_KEY] NEXT hash = HASH_REMOVEALL FOR n = 0 TO cnt - 1 hash[tmp[n, HASH_KEY]] = tmp[n, HASH_VAL] NEXT FEND
結果
りんご:apple
ぶどう:grape
さくらんぼ:cherry
もも:peach
バナナ:banana