Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť Lisp makro

Môžete pestovať a rozšíriť silu Lisp programovacieho jazyka pomocou makier . Lisp makrá použiť názov kombináciou existujúcich častí Lisp jazyka Lisp knižnice alebo funkcie , ktoré píšete vytvoriť novú jazykovú funkciu , ktorá bude hodnotiť ako každý iný Lisp jazykovej zložky . Makrá sú formou skratky --- pri vyhodnotení makro , tlmočník expanduje makro do kódu to zapuzdruje , potom vykoná tento kód . Príkladom Lisp makrá , môžete vytvoriť , je Fahrenheita na stupne Celzia konverzie teplota úžitkovej . Tento príklad ukazuje, ako makro možno kombinovať ďalšie makro a Lisp funkcie . Veci , ktoré budete potrebovať
počítač s Common Lisp nainštalovaný .
Zobraziť ďalšie inštrukcie Cestuj 1

Spustite príkazový riadok terminálu kliknutím na tlačidlo " Štart " a kliknutím na " spustiť " položky menu . Zadajte " príkaz " do vstupného poľa , kliknite na tlačidlo " OK " .
2

Spustite Common Lisp interpret zadaním " clisp " na príkazovom riadku . Stlačte tlačidlo " Enter " .
3

Zadajte kód pre prvú časť žiadosti na Lisp príkazového riadku . Vaše nové makrá sa skladá z iného makra s názvom pomer . Príkaz Defmacro vytvorí makro , ktoré obsahuje sklon pozemku Celzia oproti Fahrenheita .

( Defmacro pomer ( ) ( /5.0 9.0 ) )
4

Zadajte kód druhá časť makrá v Lispe príkazového riadku . Funkcia " diff " odpočíta 32 z teploty v stupňoch Fahrenheita

( defun diff ( x ) ( - x 32.0 ) ) .
5

Zadajte kód pre záverečnej časti makro na Lisp príkazového riadku . Makro " fc " prijíma teplotu v stupňoch Fahrenheita , násobí to pomerom , násobí ju " diff " , potom vytlačí výsledok .

( Defmacro fc ( x ) ( * ( pomer ) ( rozdiel x ) ) )
6

Otestujte makro zadaním " ( fc 98,6 ) " na Lisp príkazového riadku . Interpret by sa mala vytlačiť 37,0 , čo je 98,6 alebo telesná teplota v stupňoch Celzia .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené