Erinevus lehekülje "Kaleidoscope" redaktsioonide vahel

Allikas: Teadmusbaas
(Uus lehekülg: 'Kaleidoscope piirangute programmeerimiskeel, mis kinnitab piiranguid sundivasse objekt-orienteeritud keelde. See lisab võtmesõnad ''always'', ''once'', ja ''assert..during'', e...')
 
P
1. rida: 1. rida:
 
Kaleidoscope piirangute programmeerimiskeel, mis kinnitab piiranguid sundivasse objekt-orienteeritud keelde. See lisab võtmesõnad ''always'', ''once'', ja ''assert..during'', et teha deklaratsiooni relatsiooniliste invariantide kohta. Objektidel on piirangute konstruktorid, mis ei ole meetodid kasutaja poolt määratud andmetüüpide tähenduste jõustamiseks.  
 
Kaleidoscope piirangute programmeerimiskeel, mis kinnitab piiranguid sundivasse objekt-orienteeritud keelde. See lisab võtmesõnad ''always'', ''once'', ja ''assert..during'', et teha deklaratsiooni relatsiooniliste invariantide kohta. Objektidel on piirangute konstruktorid, mis ei ole meetodid kasutaja poolt määratud andmetüüpide tähenduste jõustamiseks.  
  
Kaleidoscope'l on kolm versiooni, mis näitavat arengut deklaratiivsest kasvavalt sundivaks stiiliks
+
Kaleidoscope'l on kolm versiooni, mis näitavad arengut deklaratiivsest kasvavalt sundivaks stiiliks.
  
 
== Koodi näited ==
 
== Koodi näited ==

Redaktsioon: 7. november 2017, kell 08:39

Kaleidoscope piirangute programmeerimiskeel, mis kinnitab piiranguid sundivasse objekt-orienteeritud keelde. See lisab võtmesõnad always, once, ja assert..during, et teha deklaratsiooni relatsiooniliste invariantide kohta. Objektidel on piirangute konstruktorid, mis ei ole meetodid kasutaja poolt määratud andmetüüpide tähenduste jõustamiseks.

Kaleidoscope'l on kolm versiooni, mis näitavad arengut deklaratiivsest kasvavalt sundivaks stiiliks.

Koodi näited

Võrdlus kahe koodilõigu vahel, mõlemad lasevad kasutajal lohistada hiirega elavhõbeda taset lihtsas graafilises termomeetris.

Piiranguteta:

while mouse.button = down do
old <- mercury.top;
mercury.top <- mouse.location.y;
temperature <- mercury.height / scale;
if old < mercury.top then
delta_grey( old, mercury.top );
display_number( temperature );
elseif old > mercury.top then
delta_white( mercury.top, old );
display_number( temperature );
end if;
end while;

Piirangutega:

always: temperature = mercury.height / scale;
always: white rectangle( thermometer );
always: grey rectangle( mercury );
always: display number( temperature );
while mouse.button = down do
mercury.top = mouse.location.y;
end while;


Viited

Artikkel on osaline tõlge siit.


Tõnu Taal TA15 7. november 2017, kell 10:38 (EET)