infixl 0 | (,) |
infixr 5 | (=), (+=), (-=), (=~), (+=~), (-=~), (+=!~), (=!~), (-|=), (-|=~) |
infixl 35 | (+), (-), (+~), (-~) |
infixl 40 | (*), (%), (*~), (/), (/~) |
定義 | 使い方 | 意味 | 同等の挙動をするC |
void (+=~)(char& a;char& z) | a+= ~z; | zを破壊しながらそれをaに足し合わせる | a+=z, z=0; |
void (+=~)(char& a,char& b;char& z) | (a,b)+= ~z; | zを破壊しながらそれをaとbに足し合わせる | a+=z, b+=z, z=0; |
void (+=~)(char& a;char& z * constant char N) | a+= ~z*N; | zを破壊しながら、Nをz回aに足す | a+=z*N, z=0; |
void (-=~)(char& a;char& z) | a-= ~z; | zを破壊しながらそれをaから引く | a-=z, z=0; |
void (-=~)(char& a,char& b;char& z) | (a,b)-= ~z; | zを破壊しながらそれをaやbから引く | a-=z, b-=z, z=0; |
void (-=~)(char& a;char& z * constant char N) | a-= ~z*N; | zを破壊しながら、Nをz回aから引く | a-=z*N, z=0 |
void (=~)(char& a;char& z) | a= ~z; | zを破壊しながらそれをaにコピー | a=z, z=0; |
void (=~)(char& a,char& b;char& z) | (a,b)= ~z; | zを破壊しながらそれをaとbにコピー | a=z, b=z, z=0; |
void (=~)(char& a;char& z * constant char N) | a= ~z*N; | zを破壊しながら、aをN*zにする | a=z*N, z=0; |
定義 | 使い方 | 意味 | 同等の挙動をするC |
void (+=!~)(char& a;char& z) | a+= !~z; | zを破壊しながら、zの論理否定をaに足し合わせる | a+= !z, z=0; |
void (+=!~)(char& a,char& b;char& z) | (a,b)+= !~z; | zを破壊しながら、zの論理否定をaとbに足し合わせる | a+= !z, b+= !z, z=0; |
void (=!~)(char& a;char& z) | a= !~z; | zを破壊しながら、zの論理否定をaに代入する | a= !z, z=0; |
void (=!~)(char& a,char& b;char& z) | (a,b)= !~z; | zを破壊しながら、zの論理否定をaとbに代入する | a= !z, b= !z, z=0; |
定義 | 使い方 | 意味 | 同等の挙動をするC |
void clear(char& a) | clear(a); | aを0にする | a=0; |
void (=)(char& a;constant char N) | a=N; | aに定数Nを代入 | a=N; |
void (+=)(char& a;char& b) | a+=b; | aにbを足す | a+=b; |
void (+=)(char& a;constant char N *~ char& z) | a+= N * ~z; | zを破壊しながら、Nをz回aに足す | a += N * z, z=0; |
void (-|=~)(char& a;char& b) | a -|= ~b; | bを破壊しながらそれをaから引くが、aがb以下ならaは0になる | a= (a>b ? a-b : 0), b=0; |
infixr 5 | (+<-~), (<-~), (-|=) |
infixl 40 | (/) |
定義 | 使い方 | 意味 | 同等の挙動をするC |
void (-|=) (char& a; const char N) | a -|= N; | Nをaから引くが、aがN以下ならaは0になる | a= (a>N ? a-N : 0); |
void (+=)(char&a,char&b;char&c) | (a,b) += c; | cの値をaとbとに加える | a+=c, b+=c; |
void (+<-~) (char& quot, char& rem; char& a / const char N) | (quot, rem)+ <- ~a / N; | aをNで割った商をquotに、余りをremに加える | quot += a / N, rem += a % N, a=0; |
void sprint(char& x1, char& x2, char& x3 +<-~ char& a) | sprint(x1, x2, x3 + <- ~a); | aを破壊しながら、aの100の位、aの10の位、aの1の位をそれぞれx1, x2, x3に足し合わせる | x3 += a % 10, x2 += (a/10) % 10, x1 += a/100, a=0; |
定義 | 使い方 | 意味 | 同等の挙動をするC |
void (+=)(char&a; constant char M * constant char N) | a += M*N; | 定数Mと定数Nの積をaに加える | a += M*N; |
void (-=)(char&a; constant char M * constant char N) | a -= M*N; | 定数Mと定数Nの積をaから引く | a -= M*N; |
定義 | 使い方 | 意味 | 同等の挙動をするC |
syntax unless(~char& a){block} | unless(~a){/*block*/} | aを0にするのと並行して、元々aが0のときblockの中身を実行する。 | if(!a){a=0; {/*block*/}} |
syntax unless(char& a){block} | unless(a){/*block*/} | aが0のときblockの中身を実行する。 | if(!a){/*block*/} |
syntax unless(constant char N - char& a){block} | unless(N-a){/*block*/} | N-aが0のとき、つまりNとaが等しいとき、blockの中身を実行する。 | if(!(N-a)){/*block*/} |
= eq ! bang + plus - min * star ~ til % per & and , com / div : col < lt > gt ? q @ at | pipe ^ hat