01 標準輸入 (stdin)

並將第一個字節中的計數移動到詞緩衝區。

WORD在終端輸入緩衝區中查找給定的分隔符,

當您直接從終端執行WORD時,

WORD將從TIB開始掃描輸入緩衝區。

逐漸向前推移 >IN ,

以便每次執行WORD時,都會掃描輸入流中的下一個字,

當IN>大於#TIB @時,WORD知道停止掃描。

例如,在WORD掃描字符串“STAR”之後,>IN的值是五。

> IN是一個“相對指標”; 

也就是說,它不包含實際的地址,

而是包含一個要添加到實際地址(在一般情況下是TIB)的偏移量。

: Word_TIB_>in

  cr

  begin

   bl word 

   cr 

   ." >in = " >in @ . 

   ." #TIB = " #TIB @ .      

   ." word =>" count type

   >in @ #TIB @ = 

  until

  ;

Word_TIB_>in 123 456 789 abcdefghijk lmnopqr stuvwxyz  

>in = 17 #TIB = 54 word =>123

>in = 21 #TIB = 54 word =>456

>in = 25 #TIB = 54 word =>789

>in = 37 #TIB = 54 word =>abcdefghijk

>in = 45 #TIB = 54 word =>lmnopqr

>in = 54 #TIB = 54 word =>stuvwxyz ok

\ query

: QUERY ( -- ) 

\ accept a line of input from the user to TIB

TIB DUP MAXSTRING ACCEPT (SOURCE) 2!

>IN OFF

0 TO SOURCE-ID 

0 TO SOURCE-POSITION 

;

: _c[ 

begin

bl word 

>in @ #TIB @ = 

until

;

: c[

cr

10 0 do

\ begin

query _c[ cr

\ until

loop

;

c[

int main()

{

printf("hello, word!");

return 0;

}

ok........

<註>

cr  換行

\ example 

s" 1 2 3 + " temp$ place

: cyn 

  temp$ c@ #TIB !

  temp$ count TIB place

  0 >in !

  bl word cr count type  cr 

  s" 2 3 + is " type  cr

  ;

cyn

1

2 3 + is 

 ok.

.s [1] 5  ok.

標準串流