split.fs

来自「open source bios with linux platform, ve」· FS 代码 · 共 50 行

FS
50
字号
\ implements split-before, split-after and left-split \ as described in 4.3 (Path resolution)\ delimeter returned in R-string: split-before ( addr len delim -- addr-R len-R addr-L len-L )   0 rot dup >r 0 ?do    ( str char cnt R: len <sys> )    2 pick over + c@ 2 pick = if leave then    1+  loop  nip  2dup + r> 2 pick -  2swap;\ delimeter returned in L-string: split-after ( addr len delim -- addr-R len-R addr-L len-L )   over 1- rot dup >r 0 ?do    ( str char cnt R: len <sys> )    2 pick over + c@ 2 pick = if leave then    1-	loop  nip	dup 0 >= if 1+ else drop r@ then	2dup + r> 2 pick -  2swap;\ delimiter not returned: left-split ( addr len delim -- addr-R len-R addr-L len-L )  0 rot dup >r 0 ?do    ( str char cnt R: len <sys> )    2 pick i + c@ 2 pick = if leave then    1+  loop  nip  2dup + 1+ r> 2 pick -  dup if 1- then  2swap;\ delimiter not returned [THIS FUNCTION IS NOT NEEDED]: right-split ( addr len delim -- addr-R len-R addr-L len-L )	dup >r	split-after	dup if 2dup + 1-		c@ r@ = if 1- then then	r> drop;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?