跳转到内容

编译时

本页列出了所有内置 全局静态函数,这些函数在构建 Tact 项目时进行评估,无法处理非恒定的运行时数据。 这些函数通常被称为 “编译时函数”。

地址

fun address(s: String):地址;

编译时函数,用于将带有地址的 字符串转换为 地址类型。

使用示例

contract Example {
// Persistent state variables
addr: Address =
address("EQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N"); // works at compile-time!
}

电池

fun cell(bocBase64: String):单元格;

编译时函数,将 base64 编码的 BoCbocBase64作为 [单元格][单元格] 嵌入到合约中。

使用示例

contract Example {
// 持久状态变量
storedCellCell =
// 钱包 V3R1 的初始包为 base64-编码的 BoC
cell("te6cckEBAQEAYgAAwP8AIN0gggFMl7qXMO1E0NcLH+Ck8mCDCNcYINMf0x/TH/gjE7vyY+1E0NMf0x/T/9FRMrryoVFEuvKiBPkBVBBV+RDyo/gAkyDXSpbTB9QC+wDo0QGkyMsfyx/L/8ntVD++buA=");// 编译时有效!
}

ton

fun ton(value: String):Int

编译时函数,将给定的通币从人类可读格式String转换为nanoToncoinInt格式。

使用示例

contract Example {
// 持久状态变量
oneInt = ton("1"); // 10^9 枚纳米通币,等于 1 枚通币
pointOne: Int = ton("0.1"); // 10^8 枚纳米通币,等于 0.1 枚通币
nano: Int = ton("0.000000001"); // 1 枚纳米通币,等于 10^9 枚通币
// 在编译时有效!
}