GS2-Script のユーティリティメソッド

GS2-Script で実行する Lua スクリプト内で利用可能なユーティリティメソッドの説明

GS2-Scriptの拡張スクリプト(Lua言語)で使用可能な拡張メソッドです。

util.table_to_json

Luaのテーブル型(配列)を、JSON形式の文字列に変換します。

Request

引数名説明
tabletableLuaテーブル

Result

メンバ名説明
isErrorboolエラーの有無
statusCodeintステータスコード
errorMessagestringエラーメッセージ
resultstring変換結果のJSON文字列

Sample

Code

result = util.table_to_json({a="a", b=1, c=false})
if result.isError then
  fail(result['statusCode'], result['errorMessage'])
end
json_str = result["result"]

Output

{"a":"a","b":1,"c":false}

util.json_to_table

JSON形式の文字列を、Luaのテーブル型(配列)に変換します。

Request

引数名説明
jsonTextstringJSON形式の文字列
disableNumberStringToNumberboolJSON内に文字列型で数値が格納されていた時に数値型に変換しない(default: false)

Result

メンバ名説明
isErrorboolエラーの有無
statusCodeintステータスコード
errorMessagestringエラーメッセージ
resulttable変換結果のLuaテーブル

Sample

Code

result = util.json_to_table("{\"a\": \"a\", \"b\": 1, \"c\": false}")
if result.isError then
  fail(result['statusCode'], result['errorMessage'])
end
json_table = result["result"]

util.split

文字列を分割します。

Request

引数名説明
valuestring元の文字列
sepstringデリミタ、区切り文字列

Result

メンバ名説明
isErrorboolエラーの有無
statusCodeintステータスコード
errorMessagestringエラーメッセージ
resulttable分割した文字列のLuaテーブル

Sample

Code

result = util.split("a,b,c", ",")
if result.isError then
  fail(result['statusCode'], result['errorMessage'])
end
split_table = result["result"]
print(split_table[1])
print(split_table[2])
print(split_table[3])

Output

a
b
c

http.get

HTTPのGETリクエストを発行します。

Request

引数名説明
urlstring接続先のURL

Result

メンバ名説明
isErrorboolエラーの有無
statusCodeintステータスコード
errorMessagestringエラーメッセージ
resultstringHTTPレスポンスのボディ

Sample

Code

result = http.get("https://example.com")
if result.isError then
  fail(result['statusCode'], result['errorMessage'])
end
get_result = result["result"]

http.post

HTTPのPOSTリクエストを発行します。

Request

引数名説明
urlstring接続先のURL
contentTypestringHTTPヘッダーのContent-Type
bodystringHTTPリクエストメッセージのボディ

Result

メンバ名説明
isErrorboolエラーの有無
statusCodeintステータスコード
errorMessagestringエラーメッセージ
resultstringHTTPレスポンスのボディ

Sample

Code

result = http.get("https://example.com")
if result.isError then
  fail(result['statusCode'], result['errorMessage'])
end
get_result = result["result"]

util.random

0 〜 1 の浮動小数点数の乱数を生成する

Request

引数名説明

Result

メンバ名説明
isErrorboolエラーの有無
statusCodeintステータスコード
errorMessagestringエラーメッセージ
resultfloat生成した乱数

Sample

Code

result = util.random()
if result.isError then
  fail(result['statusCode'], result['errorMessage'])
end
random_value = result["result"]

util.uuid

UUIDv4 に基づく文字列を生成する

Request

引数名説明

Result

メンバ名説明
isErrorboolエラーの有無
statusCodeintステータスコード
errorMessagestringエラーメッセージ
resultfloat生成したUUID

Sample

Code

result = util.uuid()
if result.isError then
  fail(result['statusCode'], result['errorMessage'])
end
random_value = result["result"]