Expr
Expr<S, T> は S のシグナルを読む式で、ブラウザで T の値に評価されます。
式を組み立てる
+、-、*、% は i32、i64、f64 に、/ は f64 に、! は bool に使えます。
| 項目 | 概要 |
|---|---|
Expr::lit | 描画のときに 1 回だけ JSON にシリアライズする定数の値 |
if_else | cond が真のあいだは then、偽のあいだは otherwise の値になる式 |
Expr::now | Unix エポックからのミリ秒で表した、ブラウザの現在時刻 |
Expr::random_below | ブラウザで選ぶ、0 以上 bound 未満のランダムな整数 |
at | この式を評価してできる構造体のフィールド field |
with | この構造体の field を value に置き換えた複製 |
let_in | この値から body が作る式。body が何度使っても、値の評価は 1 回で済みます。 |
let_in_stmt | 文を実行した時点で 1 回だけ計算したこの値で、body を実行する文 |
比較と論理演算
| 項目 | 概要 |
|---|---|
equals | この値が rhs と等しいかどうか |
not_equals | JSON の形で比べたときに、この値が rhs と異なるかどうか |
gt | この値が rhs より大きいかどうか |
ge | この値が rhs 以上かどうか |
lt | この値が rhs より小さいかどうか |
le | この値が rhs 以下かどうか |
and | この値と rhs が両方とも真かどうか |
or | この値と rhs のどちらかが真かどうか |
数値とテキスト
| 項目 | 概要 |
|---|---|
min | この値と rhs のうち小さいほう |
max | この値と rhs のうち大きいほう |
to_f64 | この数を、どの i32 も正確に表せる f64 にした値 |
to_fixed | この数を、小数点以下 digits 桁のテキストにしたもの |
floor | この数以下で最大の整数 |
ceil | この数以上で最小の整数 |
round | 最も近い整数。ちょうど半分の値は大きいほうに丸めます。 |
log10 | この数の常用対数 |
pow | この数の exponent 乗 |
format | この数を format に従って、桁を区切り、前後に文字を付けたテキストにしたもの |
NumberFormat | format が数を書く形。小数の桁数、区切り文字、前後に付ける文字 |
plural | この数の locale での複数形のカテゴリに対して、form が返す形 |
PluralCategory | Intl.PluralRules が数に対して選ぶ、Unicode CLDR の複数形のカテゴリ |
IntlLocale | ブラウザの Intl がテキストを書くロケールで、最初の HTML も同じテキストになります。 |
Timestamp | Unix エポックからのミリ秒で表した時刻 |
format_date | この時刻を、ブラウザの Intl.DateTimeFormat で format に従って書いたテキスト |
DateFormat | format_date が Timestamp を書く形。ロケール、スタイル、タイムゾーン |
relative_to | この時刻を now からの相対時間として、locale で 3 minutes ago のように書いたテキスト |
to_text | この値を、JavaScript の String と同じ書き方で表示用のテキストにしたもの |
label | この値のバリアントに対して label が返すテキスト。どのバリアントにもテキストが要ります。 |
Variants | #[derive(Segment)] を付けた enum で、derive がバリアントを並べます。 |
concat | この文字列の後ろに rhs をつなげた文字列 |
trim | この文字列から前後の空白を除いたもの |
to_lowercase | この文字列を小文字にしたもの |
to_uppercase | この文字列を大文字にしたもの |
contains | この文字列に needle が含まれるかどうか |
starts_with | この文字列が prefix で始まるかどうか |
char_count | Rust の chars().count() と同じく数えた、Unicode スカラー値の数 |
all_chars | この文字列のどの文字も class に入るかどうか。空の文字列では true です。 |
any_char | この文字列のどれかの文字が class に入るかどうか。空の文字列では false です。 |
CharClass | all_chars と any_char が調べる ASCII 文字の集まり |