Go to the first, previous, next, last section, table of contents.


Komunikacije

Transmiteri

Primjedba: Ako postoji varijabla PRINTDEPTHLIMIT sa ne-negativnom integer vrijednoscu, tada ce strukture kompleksnih lista i nizova biti ispisane samo do dozvoljene dubine. To jest, clanovi od clanova od... od clanova ce biti dozvoljeni samo do odredjenog broja. Ispusteni clanovi, oni koji su preko limita dubine, biti ce oznaceni sa `...' za svakoga. Tako ce lista dubine dva, od dva clana izgledati ovako [... ...].

Ako postoji varijabla PRINTWIDTHLIMIT sa ne-negativnom integer vrijednoscu, onda ce samo prvih toliko clanova bilo koje liste ili niza biti ispisani. Jedna trotocka (...) ce zamijeniti sve clanove u strukturi koji nisu ispisani. Isto ogranicenje sirine vrijedi i za broj slova ispisanih u rijeci, osim sto ce PRINTWIDTHLIMIT izmedju 0 i 9 biti tretiran kao 10 za rijeci. Ovaj limit vrijedi ne samo za podatke top-levela, nego i za sve podstrukture sadrzane u njima.

See section printdepthlimit ; section printwidthlimit

print

PRINT thing
PR thing
(PRINT thing1 thing2 ...)
(PR thing1 thing2 ...)

komanda. Ispise input ili inpute u aktivni write stream (inicijalno terminal). Svi inputi se ispisu na jednoj liniji, rastavljeni jednim razmakom i zavrsavaju sa newline (novom linijom). Ako je input lista, uglate zagrade se ne ispisu, ali se ispisu oko podlista. Viticaste zagrade se uvijek ispisu oko nizova.

type

TYPE thing
(TYPE thing1 thing2 ...)

komanda. Ispise input, ili inpute kao PRINT, osim sto ne stavi newline znak na kraj i ne rastavlja visestruke inpute sa razmacima. Pazite: Ispis na terminal je obicno "line buffered"; tj., znakovi koje ste ispisali sa TYPE se nece stvarno pojaviti na zaslonu dok, ili nije ispisan newline znak (sa PRINT ili SHOW), ili Logo ne pokusa citati sa tipkovnice (bilo na zahtjev vaseg programa ili nakon instrukcijskog prompta). Buffering cini program puno brzim nego bi bio, da se svaki znak ispise odmah. U vecini slucajeva to i ne smeta programu. Da bi zadovoljio programe koji ispisuju mnogo pozicioniranog teksta upotrebljavajuci TYPE, Logo ce prisiliti na ispis svaki puta kada se pozove SETCURSOR. To rjesava vecinu problema sa bufferom. Ipak, povremeno mozete naci za shodno prisiliti trenutacni ispis znakova; to se moze uciniti sa WAIT komandom. WAIT 0 ce prisiliti na ispis, bez cekanja.

See section setcursor ; section wait

show

SHOW thing
(SHOW thing1 thing2 ...)

komanda. Ispise input, ili inpute kao PRINT, osim sto -- ako je input lista, ispise je unutar uglatih zagrada.

See section print

Prijemnici

readlist

READLIST
RL

ucita liniju sa read stream-a (inicijalno terminala) i outputira tu liniju kao listu. Linija je podijeljena u clanove, kao da je upisana u uglatim zagradama u nekoj instrukciji. Ako je read stream file -- i dosli smo na kraj file-a, READLIST outputira praznu rijec (ne praznu listu). READLIST procesira "\", "|" i "~" znakove u read stream-u; outputirana lista nece sadrzati te znakove, ali ce oni imati svoj uobicajeni efekt. READLIST ne tretira ";" kao specijalni znak (znak za komentar).

readword

READWORD
RW

ucita liniju sa read stream-a i outputira tu liniju kao rijec. Output je jedna rijec, cak i ako input sadrzi razmake, uglate zagrade, itd. Ako je read stream file -- i dosli smo na kraj filea, READWORD outputira praznu listu (ne praznu rijec). READWORD procesira "\", "|" i "~" znakove u read stream-u. U slucaju kada se "~" znak upotrijebi za nastavak linije, outputirana rijec sadrzi i "~" i newline znak, tako da user program moze tocno znati sto je user upisao. Vertikalne crte (|) su takodjer sacuvane u outputu, Backslash (\) znakovi nisu sacuvani u outputu, ali znak koji ih slijedi na liniji, ima 128 dodan na svoju ASCII vrijednost. Program moze upotrijebiti BACKSLASHEDP da provjeri taj slucaj. ("\" se sacuva samo za neke znakove.)

See section backslashedp

readchar

READCHAR
RC

ucita jedan znak sa read stream-a i outputira taj znak kao rijec. Ako je read stream file -- i kraj je file-a, READCHAR outputira praznu listu (ne praznu rijec). Ako je read stream terminal, eho je iskljucen kada se pozove READCHAR, i ostaje iskljucen do poziva READLIST ili READWORD ili dok Logo ne ispise svoj prompt. Backslash (\), (|) , i (~) nemaju posebno znacenje u ovom kontekstu.

See section readlist

readchars

READCHARS num
RCS num

ucita num znakova sa read stream-a i outputira te znakove kao rijec. Ako je read stream file, i kraj je file-a, READCHARS outputira praznu listu (ne praznu rijec). Ako je read stream terminal, eho je iskljucen kada se pozove READCHARS, i ostaje iskljucen do poziva READLIST ili READWORD ili dok Logo ne ispise svoj prompt. Backslash (\), (|) , i (~) nemaju posebno znacenje u ovom kontekstu.

See section readlist ; section readword

shell

SHELL command
(SHELL command wordflag)

Pod Unixom, outputira rezultat izvrsenja command kao shell komande. (Komanda je poslana na /bin/sh, a ne csh ili slicno.) Ako je command doslovna lista sa komandne linije i zelite njome poslati "\" shellu, morate upotrijebiti \\ da Logo propusti \. Output je lista koja sadrzi jedan clan za svaku liniju shell generiranog outputa. Obicno je svaka takova linija prikazana kao lista u outputu -- kao da je bila ucitana sa READLIST. Ako je dan i drugi input, bez obzira na vrijednost inputa, svaka linija je prikazana kao rijec u outputu, kao da je bila ucitana sa READWORD. Primjer:

to dayofweek 
output first first shell [date] :
end	

Ovaj "first first" je da izvuce prvu rijec iz prve (i jedine) linije shell outputa.

Pod DOS-om, SHELL je komanda, a ne operacija; posalje svoj input DOS komandnom procesoru, ali ne pokupi rezultat komande.

Macintosh, naravno, nije programabilan.

File pristup

openread

OPENREAD filename

komanda. Otvori imenovani file za citanje. Read pozicija se inicijalno postavi na pocetak file-a. Greska je ako filename ne postoji.

openwrite

OPENWRITE filename

komanda. Otvori imenovani file za pisanje. Ako je file vec postojao, stara verzija se brise i novi, prazni file se stvori.

openappend

OPENAPPEND filename

komanda. Otvori imenovani file za pisanje. Ako file vec postoji, pozicija za pisanje se inicijalno postavlja na kraj file-a, tako da se novo upisani podaci dodaju na kraj.

openupdate

OPENUPDATE filename

komanda. Otvori imenovani file za citanje i pisanje. Read i write pozicija se inicijalno postavi na kraj starog file-a, ako postoji. Primjedba: svaki otvoreni file ima samo jednu poziciju, istovremeno za citanje i pisanje. Ako je file otvoren istovremeno za citanje i pisanje, tada ce SETREADPOS takodjer pomaknuti i WRITEPOS i obrnuto. Ako naizmjenicno citate i pisete isti file, morate pozvati SETREADPOS izmedju pisanja i citanja i SETWRITEPOS izmedju citanja i pisanja.

See section reader ; section writer ; section setreadpos ; section setwritepos

close

CLOSE filename

komanda. Zatvori imenovane filove.

allopen

ALLOPEN

outputira listu ciji su clanovi imena svih trenutacno otvorenih file-ova. Ta lista ne ukljucuje `dribble' file, ako ga ima.

closeall

CLOSEALL					(library procedura)

komanda. Zatvori sve otvorene filove. Skracuje FOREACH ALLOPEN [CLOSE ?]

See section foreach ; section close

erasefile

ERASEFILE filename
ERF filename

komanda. Obrise (ukloni) imenovani file, koji ne bi smio trenutacno biti otvoren.

dribble

DRIBBLE filename

komanda. Stvori novi file, cije je ime input (kao OPENWRITE) i pocinje biljeziti u taj file sve sto je ucitano sa keyboarda ili ispisano na terminal. To biljezenje je dodatak pisanju u WRITER. Namjera je stvoriti transkripciju Logo rada, ukljucujuci stvari kao prompt znakove i interakciju.

See section openwrite ; section writer

nodribble

NODRIBBLE

komanda. Prestaje sa kopiranjem informacija u dribble file, i zatvara taj file.

setread

SETREAD filename

komanda. Oznaci imenovani file filename kao read stream -- upotrebljava se za READLIST i slicno. File mora biti prvo otvoren sa OPENREAD ili OPENUPDATE. Ako je input prazna lista, read stream postaje terminal, kao obicno. Promjena read steam-a ne zatvara file koji je prije bio read stream, tako je moguce naizmjenicno citati iz raznih file-ova.

See section readlist ; section openread ; section openupdate

setwrite

SETWRITE filename

komanda. Postavi imenovani file kao write stream, koji se upotrebljava za PRINT i slicno. File prije toga mora biti otvoren sa OPENWRITE, OPENAPPEND ili OPENUPDATE. Ako je input prazna lista, tada write stream postaje terminal, kao i obicno. Promjenom write stream-a ne zatvara se file koji je prije bio write stream, tako je moguce izmjenicno pisati u nekoliko file-ova.

See section print ; section openwrite ; section openappend ; section openupdate

reader

READER

outputira ime trenutacno aktivnog read stream file-a ili praznu listu, ako je read stream terminal.

writer

WRITER

outputira ime trenutacno aktivnog write stream file-a ili praznu listu, ako je write stream terminal.

setreadpos

SETREADPOS charpos

komanda. Postavi file pointer (pokazivac) read stream file-a tako da slijedeci READLIST itd., pocinje citati sa charpos rednog broja znaka u file-u, brojeci od 0. (Tj., SETREADPOS 0 ce poceti citati od pocetka file-a.) Nema znacenja ako je read stream terminal.

See section readlist

setwritepos

SETWRITEPOS charpos

komanda. Namjesti file pointer (pokazivac) write stream-a tako da slijedeci PRINT, itd., pocinje pisati na charpos rednom broju znaka u file-u, brojeci od 0. (Tj., SETWRITEPOS 0 ce poceti pisati na pocetku file-a.) Nema svrhe ako je write stream terminal.

See section print

readpos

READPOS

outputira poziciju u trenutacno aktivnom read stream file-u.

writepos

WRITEPOS

outputira poziciju za pisnje u file-u trenutacno aktivnog write stream-a.

eofp

EOFP
EOF?

predikat, outputira TRUE ako nema vise znakova za citanje u read stream file-u, inace outputira FALSE. (U file-u koji je trenutacno otvoren za citanje.)

filep

FILEP filename                                  (library procedura)
FILE? filename

predikat, outputira TRUE ako postoji file sa imenom filename i moze biti citan (UNIX), inace FALSE.

Terminal pristup

keyp

KEYP
KEY?

predikat, outputira TRUE ako ima znakova koji cekaju ucitavanje iz "read streama". Ako je "read stream" file, tada je to jednako NOT EOFP. Ako je "read stream" terminal, tada je eho iskljucen i terminal je namjesten na CBREAK (znak po znak, a ne linija po linija) nacin citanja. Ostaje u tom nacinu citanja sve dok neki linijski nacin citanja nije zatrazen (na primjer, READLIST). UNIX OS. zaboravlja (gubi) sve znakove koji cekaju, kada mijenja nacin citanja, tako da prvi KEYP poziv uvijek outputira FALSE.

See section eofp ; section readlist

cleartext

CLEARTEXT
CT

comanda. Obrise text prozor terminala.

setcursor

SETCURSOR vector

komanda. Input je lista od dva broja, x i y koordinate pozicije na terminalu (ishodiste je lijevi gornji kut, a pozitivan smjer je jugoistok). Terminalski kursor se pomakne na tu poziciju. Ova komanda takodjer uzrokuje ispisivanje znakova u bufferu, ako ih ima.

cursor

CURSOR

outputira listu koja sadrzi trenutacne x i y koordinate tekst kursora. Logo se moze zabuniti oko trenutacne pozicije, ako na primjer, utipkate dugu liniju koja se sama spusti u novi red (wrap) ili vam program ispise kontrolne kodove koji djeluju na terminal.

setmargins

SETMARGINS vector

komanda. Input mora biti lista od dva broja, kao i za SETCURSOR. Obrise zaslon terminala i uredi da svi buduci ispisi budu pomaknuti dolje i desno, kako je indicirano input vektorom. Svaki puta kada se ispise newline (nova linija), Logo ce ispisati x_margin razmaka i za svaki poziv SETCURSOR margine ce biti dodane inputiranim x i y koordinatama. (CURSOR ce javiti poziciju kursora relativnu na margine, tako da ce taj pomak biti nevidljiv za Logo programe.) Svrha ove komande je da omoguci prikaz terminala na televizijskim ekranima u ucionicama.

See section setcursor

settextcolor

SETTEXTCOLOR foreground background
SETTC foreground background

komanda (samo za Windows i extended DOS). Inputi su brojevi boja, kao za turtle grafiku. Buduci ispisi teksta u prozoru, upotrijebiti ce navedene boje za foreground (ispisani znakovi) i background (pozadina - prostor ispod tih znakova). Upotreba STANDOUT-a ce vratiti standardne tekst window boje. U extended DOS verziji (ucblogo.exe), boje u textscreen modu su limitirane na brojeve 0-7, i mijenjanje boja se odnosi samo na tekst ispisan od programa, a ne na tekst koji je utipkao user. Ni jedno od ovih ogranicenja se ne odnosi na tekst dio splitscreen moda, koji je zapravo interno ispisan kao grafika.

See section standout


Go to the first, previous, next, last section, table of contents.