標準定数・標準関数について
Aiscriptで最初から定義されていてどこでも使える定数・関数を指します。
standardを省略してstd定数/関数とも呼ばれています。
書式
#Core:v
Core:v
という標準定数を表します。
@Core:type(v: value): str
Core:type
という標準関数を表します。v
という名のvalue型(つまり任意の型)の引数を一つとり、str型(文字列型)の値を返します。
一覧
std
@print(message: str): void
画面に文字列を表示します。
@readline(message: str): str
文字列の入力を受け付けます。
:: Core
#Core:v
型: str
AiScriptのバージョンです。
@Core:type(v: value): str
値の型名を取得します。
@Core:to_str(v: value): str
値を表す文字列を取得します。
@Core:sleep(time: num): void
指定時間(ミリ秒)待機します。
@Core:abort(message: str): never
プログラムを緊急停止します。
:: Util
@Util:uuid(): str
新しいUUIDを生成します。
:: Json
@Json:stringify(v: value): str
JSONを生成します。
@Json:parse(json: str): value
JSONをパースします。 引数がJSONとしてパース可能性でない場合、エラー型の値(name
='not_json'
)を返します。
@Json:parsable(str: str): bool
文字列がJSONとしてパース可能であるかの判定を行います。歴史的理由により存在しています
:: Date
@Date:now(): num
現在時刻を取得します。
@Date:year(date?: num): num
時刻の年を取得します。
date を渡した場合、_date_に対応する年、
渡していない場合は現在時刻の年が返されます。
@Date:month(date?: num): num
現在時刻の月を取得します。
date を渡した場合、_date_に対応する月、
渡していない場合は現在時刻の月が返されます。
@Date:day(date?: num): num
現在時刻の日を取得します。
date を渡した場合、_date_に対応する日、
渡していない場合は現在時刻の日が返されます。
@Date:hour(date?: num): num
現在時刻の時を取得します。
date を渡した場合、_date_に対応する時、
渡していない場合は現在時刻の時が返されます。
@Date:minute(date?: num): num
現在時刻の分を取得します。
date を渡した場合、_date_に対応する分、
渡していない場合は現在時刻の分が返されます。
@Date:second(date?: num): num
現在時刻の秒を取得します。
date を渡した場合、_date_に対応する秒、
渡していない場合は現在時刻の秒が返されます。
@Date:millisecond(date?: num): num
現在時刻のミリ秒を取得します。
date を渡した場合、_date_に対応するミリ秒、
渡していない場合は現在時刻のミリ秒が返されます。
@Date:parse(date: str): num
日付として解釈可能な文字列から日時を表す数値を生成します。
解釈はJavaScriptのDateコンストラクターに依存します。
引数が日付として解釈可能でない場合、エラー型の値(name
='not_date'
)を返します。
@Date:to_iso_str(date?: num, time_offset?: num): str
date を拡張表記のISO形式にした文字列を返します。
date を渡していない場合は現在時刻を使用します。
time_offset はUTCからの時差(分単位)を指定します。
time_offset を渡していない場合はローカルのものを参照します。
:: Math
数が多いため専用のページになっています。→std-math.md
:: Num
@Num:from_hex(hex: str): num
16進数の文字列から数値を生成します。
:: Str
#Str:lf
型: str
改行コード(LF)です。
@Str:lt(a: str, b: str): num
a < b ならば -1、a == b ならば 0、a > b ならば 1 を返します。
arr.sortの比較関数として使用できます。
@Str:gt(a: str, b: str): num
a > b ならば -1、a == b ならば 0、a < b ならば 1 を返します。
arr.sortの比較関数として使用できます。
@Str:from_codepoint(codepoint: num): str
Unicodeのコードポイントから文字を生成します。
codepoint は 0 以上、10FFFF16 以下である必要があります。
@Str:from_unicode_codepoints(codePoints: arr<num>
): str
Unicodeのコードポイント列を表す数値の配列から文字を生成します。
_codePoints_の各要素は 0 以上、10FFFF16 以下である必要があります。
@Str:from_utf8_bytes(bytes: arr<num>
): str
UTF-8のバイト列を表す数値の配列から文字を生成します。
_bytes_の各要素は 0 以上、255 以下である必要があります。
:: Uri
@Uri:encode_full(uri: str): str
uri をURIとしてエンコードした文字列を返します。以下の文字はエンコードされません。A-Z a-z 0-9 - _ . ! ~ * ' ( ) ; , / ? : @ & = + $ #
@Uri:encode_component(text: str): str
text をURI構成要素としてエンコードした文字列を返します。以下の文字はエンコードされません。A-Z a-z 0-9 - _ . ! ~ * ' ( )
@Uri:decode_full(encoded_uri: str): str
encoded_uri をエンコードされたURIとしてデコードした文字列を返します。
以下の文字に対応するエスケープシーケンスはデコードされません。; , / ? : @ & = + $ #
@Uri:decode_component(encoded_text: str): str
encoded_text をエンコードされたURI構成要素としてデコードした文字列を返します。
:: Arr
@Arr:create(length: num, initial?: value): arr
長さがlength
の配列を作成します。
配列は initial が与えられていれば initial 、でなければnull
で埋められます。
:: Obj
@Obj:keys(v: obj): arr
@Obj:vals(v: obj): arr
@Obj:kvs(v: obj): arr
オブジェクトのキー、値、キーと値の組を配列にして返します。
@Obj:get(v: obj, key: str): value
@Obj:set(v: obj, key: str, val: value): null
@Obj:has(v: obj, key: str): bool
@Obj:copy(v: obj): obj
オブジェクトのコピーを生成します。
@Obj:merge(o1: obj, o2: obj): obj
2つのオブジェクトを併合したものを返します。
:: Error
@Error:create(name: str, info?: value): error
エラー型の値を作成します。
:: Async
@Async:interval(interval: num, callback: fn, immediate?: bool): fn
指定した周期でコールバック関数を呼び出します。
戻り値として停止関数を返します。
@Async:timeout(delay: num, callback: fn):
指定した時間経過後にコールバック関数を呼び出します。
戻り値として停止関数を返します。