English

Signals と Sig

Signals はページの状態を持つ構造体が実装するトレイトで、Sig<S, T> はそのフィールドの 1 つを指す型付きの参照です。

型

項目概要
Signalsフィールドがシグナルである構造体
Sigシグナル構造体 S の中にある、型が T のシグナルを指す型付きの参照
Itemeach や Sig::count のようなリストの述語の中で、いま扱っているリストの項目
RootSig のパスがページのシグナル構造体から始まることを表す型
LocalSig のパスが each やリストの述語でいま扱っている項目から始まることを表す型
Part自分のシグナルに対して一度だけ書き、どのページにも埋め込めるページの部品
Part::render埋め込まれたフィールドの下にパスを書いて、部品を描画します。
MAX_DEPTHSig が指せるフィールドの連なりの最大の深さ

Sig

Sig は式でもあるので、Expr のメソッドも使えます。

項目概要
atこのシグナルが持つ構造体のフィールド field
setブラウザでこのシグナルに value を代入する文
toggleこのフラグを反転する文
patchサーバーが送ったときに、このシグナルを value にする差分
pathこのシグナルの格納先を表す、ドットで区切ったフィールドのパス
let_in_stmt文を実行した時点のこのシグナルの値で、body を実行する文

リスト

以下は値が Vec の Sig にあるメソッドです。

項目概要
pushこのリストに value を追加する文
appendこのリストに items のすべての項目を追加する文
prependこのリストの項目の前に items のすべての項目を加える文
patch_appendブラウザが持つ項目の後ろに items を加える差分
patch_prependブラウザが持つ項目の前に items を加える差分
patch_upsertキーで項目を置き換え、新しいキーの項目を末尾に加える差分
patch_removeキーが keys のどれかに一致する項目を取り除く差分
extend各項目を位置 i から作り、count 個の項目を追加する文
remove_atindex の位置に項目があれば、それを取り除く文
clearこのリストを空にする文
retainkeep が真になる項目だけを残す文
set_allすべての項目で field を value にする文
update_wherewhen が真になる項目で field を value にする文
swapa と b の位置に項目が両方あれば、それらを入れ替える文
sort_byキーが等しい項目の順序を保ったまま、項目を key の昇順に並べる文
sort_by_descキーが等しい項目の順序を保ったまま、項目を key の降順に並べる文
countmatches が真になる項目の数
map各項目について value が返す値を、順に並べたリスト
sum_of各項目の value の合計。空のリストでは 0
max_of各項目の value のうち最大のもの。空のリストでは None
min_of各項目の value のうち最小のもの。空のリストでは None

Item

項目概要
at項目のフィールド field
value読み書きできるシグナルとしての、項目そのもの
index0 から数えた、リストの中での項目の位置
removeこの項目をリストから取り除く文