lizpop er en ordning tolk for Python.
Installasjon
& Nbsp; Bare kjøre python setup.py installere.
& Nbsp; f.eks.
& Nbsp; tjære zxvf lizpop-0.3.1.tar.gz
& Nbsp; cd lizpop-0.3.1
& Nbsp; sudo python setup.py installere
Bruk
Å kjøre interaktivt:
& Nbsp; python -O -m lizpop.run
Hvis du vil kjøre en Scheme skript i en fil:
& Nbsp; python -O -m lizpop.run yourfile.scm
For mer info om kommandolinjealternativer:
& Nbsp; python -O -m lizpop.run -h
Egenskaper
Undergruppe av Scheme R5RS
& Nbsp; Se avsnittet Restriksjoner for flere detaljer.
Har grensesnitt til Python
& Nbsp; f.eks.
& Nbsp; $ cat helloworld.py
& Nbsp; def hallo (s = "verden"):
& Nbsp; returnere u "Hei% s!" % S.capitalize ()
& Nbsp; $ python -O -m lizpop.run
& Nbsp;> (definere * helloworld * (import "Helloworld"))
& Nbsp;> (definere hallo (attr * helloworld * 'hei))
& nbsp;> (Hallo "venner")
& nbsp; "Hei Venner!"
& Nbsp; For flere detaljer, se den IFPY.rst fil i denne pakken.
Regular Expression bokstavelig.
& Nbsp; Følgende bokstavelig er et vanlig uttrykk Object.
& Nbsp; # / MØNSTER / FLAGS
& Nbsp; MØNSTER: Regulært uttrykk mønster
& Nbsp; FLAGS: Regulære uttrykk flagg.
& Nbsp; I-- ignorere saken m-- flere linjer S- dot matcher alle
& Nbsp; u-- Unicode avhengige L-- locale avhengig X- ordrik
& Nbsp; Eksempler
& Nbsp ;;; En enkel matchende
& Nbsp;> (re-search # / ( d +): ( d +) / "14 august") ;; ikke samsvarer
& Nbsp; #f
& Nbsp;> (re-search # / ( d +): ( d +) / "14 august 08:30") ;; kamp
& Nbsp; <_sre.SRE_Match objekt på ...>
& Nbsp ;;; Få undergruppe
& Nbsp;> (re-gruppe (re-search # / ( d +): ( d +) / "14 august 08:30") 1 2)
& Nbsp; ("08" "30")
& Nbsp ;;; Erstatte strengen
& Nbsp;> (? Re-gsub # / <( /) h d> / i "<\ 1H3>" "
Egenskaper:
")& Nbsp; "
Egenskaper:
"& Nbsp;>
& Nbsp; For mer info, kjøre hjelp prosedyre.
& Nbsp; f.eks.
& Nbsp;> (hjelp-liste # / (^ re-) | (regex) /)
& Nbsp;> (hjelp re-match re-søk re-gruppe re-gsub)
Støtter multi-byte tegn
& Nbsp; Bare utf-8-koding nå.
EML (Embedded Lizpop)
& Nbsp; EML er en mal språk for innebygging Lizpop kode i tekstfilen.
& Nbsp; EML har følgende enkle spesifikasjoner.
& Nbsp;%> STRING er lagt til begynnelsen av input-port.
& Nbsp; Implisitt, <% er lagt til slutten av input-port.
& Nbsp; Merk: Disse ideene er inspirert av BRL (http://brl.sourceforge.net/).
& Nbsp; Å kjøre EML, bruker -eml som kommandolinjealternativet.
& Nbsp; f.eks.
& Nbsp; python -m lizpop.run -eml yourfile.eml
& Nbsp; Et enkelt eksempel
& Nbsp; $ cat gcdlcm.eml
& Nbsp; <% (definere numlist (kart streng> antall * args *))%>
& Nbsp; GCD av <% numlist%> er <% (gjelder gcd numlist)%>.
& Nbsp; LCM av <% numlist%> er <% (gjelder lcm numlist)%>.
& Nbsp; $ python -m lizpop.run -eml gcdlcm.eml - 1533 37303 4307
& Nbsp; GCD av (1533 37303 4307) er 73.
& Nbsp; LCM av (1533 37303 4307) er 6.602.631.
& Nbsp; For flere eksempler:
& Nbsp; vennligst kjør (hjelp load-eml) for å se sin hjelp melding.
& Nbsp; Merk: `lizpop + apache2 + mod_wsgi`
& Nbsp; Se wsgi_sample / application.wsgi fil inkludert i denne pakken.
Hjelpefunksjon
& Nbsp; Lizpop har en hjelp-funksjon, det viser dokumentasjon for de gitte prosedyrer eller makroer.
& Nbsp; Bruk:
& Nbsp; (hjelp Div ...)
& Nbsp; (hjelp-liste regex-mønster)
& Nbsp; f.eks.
& Nbsp;> (hjelp påberope)
& Nbsp; Fremgangsmåte: (påberope OBJ MESSAGE ARGS ...)
& Nbsp; Kaller OBJ metode kalt BESKJED med ARGS ...
& Nbsp; ................................................ .........
& Nbsp; Men for nå, hjelp dokumentasjon er gitt kun for de Python-interface relaterte funksjoner.
& Nbsp; For mer info, løpe (hjelp) og (hjelp hjelp-liste).
& Nbsp; Merk:
& Nbsp; Jeg er ikke god på engelsk. Så hjelpemeldinger kan inneholde noen feil eller unaturlig uttrykk på engelsk.
Restriksjoner
Hygieniske makroer støttes ikke.
& Nbsp; definere-syntaks syntaks-regler, og la-syntaks ikke blir gjennomført.
& Nbsp; I stedet kan tradisjonelle (ikke-hygieniske) makroer brukes.
& Nbsp; => Kjør (bidra til å definere-makro)
Strenger er ikke foranderlig.
& Nbsp; Lizpop strenger er implementert som Python unicode-string objekter som er uforanderlig. så, string-sett! og string-fill! virker ikke.
call / cc og dynamisk-vinden er bare delvis implementert.
& Nbsp; Lizpop ikke har full støtte videreføring.
& Nbsp; Lizpop kall-med-strøm-videreføring er oppover beskyttet og ikke-innadgående. Så kan det brukes til ikke-lokal-exit, men kan ikke brukes til co-rutiner eller backtracking.
Komplekse tall og brøk tall støttes ikke.
null-miljø og ordningen-rapport-miljøet er ikke implementert.
& Nbsp; For mer info, løpe (hjelp eval)
Krav .
- Python
Kommentarer ikke funnet