Leping
Tegevus määrab funktsiooni transform(text). Mida see tagastab, muudetakse tekstiks ja lisatakse sinna, kus sa kirjutad.
def transform(text):
return text.upper()Tagasta None, et mitte midagi lisada. Kiireks prooviks omista funktsiooni asemel väärtus ülataseme muutujale result.
Kust tekst tuleb
| Sisend | Mida toiming saab |
|---|---|
| Mitte midagi | Loob teksti nullist. transform(“”). |
| Käesolev sõna | Annab sõna, mida tipid, edasi funktsioonile transform(text). |
| Valik | Annab edasi valitud teksti või mitte midagi, kui valikut pole. |
| Praegune rida | Annab edasi rea, millel kursor asub. |
| Praegune lause | Annab edasi lause, milles kursor asub. |
| Tekst enne kursorit | Annab edasi kõik enne kursorit. |
| Tekst pärast kursorit | Annab edasi kõik, mis on kursorist paremal. |
| Terve väli | Annab edasi kogu välja, kursori mõlemalt poolt. |
| Lõikelaud | Annab edasi lõikelaua teksti. Vajab täisjuurdepääsu. |
Sisendi asendamine otsustab, kas väljund asub sisendi asemele. See kehtib iga allika kohta, mis välja loeb. Valikutel Mitte midagi ja Lõikelaud pole dokumendis midagi asendada, nii et nende väljund alati lisatakse.
def transform(text):
words = len(text.split())
return f"{words} words"Klaviatuurilt palumine
Toiming võib kasutada samu käske mis paneel, selle asemel et tagastada üks sõne. Nii teeb toiming mitu muudatust või jätab kursori kindlasse kohta.
def transform(text):
replace(len(text), "(" + text + ")")
move_cursor(-1)toast() ja close() kuuluvad paneelidele: toimingul ei ole oma pinda, kus teadet näidata. Kirjutamise ajal ilmuvad mõlemad siiski konsooli.
Keel
Skriptid jooksevad Clinki enda interpretaatoril, mitte CPythonil. See loeb kasulikku osa Pythonist: hõlmavaid avaldisi, lambdasid, ennikuid, hulki, f-stringi vorminguid, try't ja except'it. Ülejäänust keeldub see teatega, mis nimetab rea.
Tüübid
intfloatstrboolNonelisttupledictset
Võtmesõnad
ifelifelsewhileforindefreturnbreakcontinuepassTrueFalseNoneandornotlambdatryexceptfinallyraiseimportfromasisdelglobal
Sisseehitatud funktsioonid
lenstrreprprintintfloatboolabsroundminmaxsumrangesortedreversedlistdictsettupleenumeratezipordchranyalltypemapfilterdivmodpowhexbinoctformatisinstancecallable
Sõnemeetodid
upperlowercasefoldtitlecapitalizeswapcasestriplstriprstripreplacesplitrsplitsplitlinesjoinstartswithendswithfindrfindindexrindexcountpartitionrpartitionzfillljustrjustcenterisdigitisnumericisalphaisalnumisspaceisupperisloweristitleremoveprefixremovesuffixformat
Loendimeetodid
appendextendpopinsertremoveindexcountsortreverseclearcopy
Sõnastikumeetodid
keysvaluesitemsgetpoppopitemsetdefaultupdateclearcopy
Hulga meetodid
adddiscardremovepopclearcopyupdateunionintersectiondifferencesymmetric_differenceissubsetissupersetisdisjoint
Korteeži meetodid
countindex
Regulaaravaldise vaste meetodid
groupgroupsgroupdictstartendspan
Erindid
ExceptionValueErrorTypeErrorKeyErrorIndexErrorNameErrorZeroDivisionErrorAttributeErrorRuntimeErrorStopIteration
Tagasi lükatud
classwithnonlocalassertyieldasyncawaitmatch
Nimeruumid
Importida saab neid nimeruume ja mitte midagi muud. Kõik need üksnes arvutavad: skriptil pole ligipääsu failisüsteemile, võrgule ega ühelegi protsessile.
import json
dumpsloads
import math
acosasinatanatan2ceilcombcopysigncosdegreeseexpfabsfactorialfloorfmodgcdhypotinfisfiniteisinfisnanlcmloglog10log2nanpipowprodradianssinsqrttantautrunc
import random
choicechoicesrandintrandomrandrangesampleseedshuffleuniform
import re
DOTALLIIGNORECASEMMULTILINESescapefindallfinditerfullmatchmatchsearchsplitsubsubn
import sys
version
import time
formatmonotonicpartstime
import re
def transform(text):
return re.sub(r"\s+", " ", text).strip()Regulaaravaldiste mootor on Clinki oma ja kulutab sama sammueelarvet mis ülejäänud skript, nii et muster, mis muidu kestaks lõputult, lõpeb veateatega, mitte klaviatuuriga, mis enam ei vasta. Tagasiviiteid ja lookaround'i ei ole.
Miks mitte CPython
Klaviatuurilaiendil on karm mälulagi ja iOS lõpetab selle hoiatuseta, kui lagi ületatakse. Terve Pythoni käitusaeg ei mahuks klaviatuuri kõrvale, seega Clink kannab kaasas väikest, just selleks tööks kirjutatud interpretaatorit: ei importe, ei faile, ei võrku, ja sammude eelarve, mis teeb lõpu lahti pääsenud skriptile, mitte klaviatuurile.
print läheb redaktori konsooli, mitte kunagi sinna, mida sa kirjutad.