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

SisendMida toiming saab
Mitte midagiLoob teksti nullist. transform(“”).
Käesolev sõnaAnnab sõna, mida tipid, edasi funktsioonile transform(text).
ValikAnnab edasi valitud teksti või mitte midagi, kui valikut pole.
Praegune ridaAnnab edasi rea, millel kursor asub.
Praegune lauseAnnab edasi lause, milles kursor asub.
Tekst enne kursoritAnnab edasi kõik enne kursorit.
Tekst pärast kursoritAnnab edasi kõik, mis on kursorist paremal.
Terve väliAnnab edasi kogu välja, kursori mõlemalt poolt.
LõikelaudAnnab 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"
Loeb kursorist eespoole jäävat teksti ja lisab välja lülitatud sisendiasendusega loenduri.

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)
Sõna sulgudesse panemine ja kursori tagasi toomine sulgude sisse.

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

  • int
  • float
  • str
  • bool
  • None
  • list
  • tuple
  • dict
  • set

Võtmesõnad

  • if
  • elif
  • else
  • while
  • for
  • in
  • def
  • return
  • break
  • continue
  • pass
  • True
  • False
  • None
  • and
  • or
  • not
  • lambda
  • try
  • except
  • finally
  • raise
  • import
  • from
  • as
  • is
  • del
  • global

Sisseehitatud funktsioonid

  • len
  • str
  • repr
  • print
  • int
  • float
  • bool
  • abs
  • round
  • min
  • max
  • sum
  • range
  • sorted
  • reversed
  • list
  • dict
  • set
  • tuple
  • enumerate
  • zip
  • ord
  • chr
  • any
  • all
  • type
  • map
  • filter
  • divmod
  • pow
  • hex
  • bin
  • oct
  • format
  • isinstance
  • callable

Sõnemeetodid

  • upper
  • lower
  • casefold
  • title
  • capitalize
  • swapcase
  • strip
  • lstrip
  • rstrip
  • replace
  • split
  • rsplit
  • splitlines
  • join
  • startswith
  • endswith
  • find
  • rfind
  • index
  • rindex
  • count
  • partition
  • rpartition
  • zfill
  • ljust
  • rjust
  • center
  • isdigit
  • isnumeric
  • isalpha
  • isalnum
  • isspace
  • isupper
  • islower
  • istitle
  • removeprefix
  • removesuffix
  • format

Loendimeetodid

  • append
  • extend
  • pop
  • insert
  • remove
  • index
  • count
  • sort
  • reverse
  • clear
  • copy

Sõnastikumeetodid

  • keys
  • values
  • items
  • get
  • pop
  • popitem
  • setdefault
  • update
  • clear
  • copy

Hulga meetodid

  • add
  • discard
  • remove
  • pop
  • clear
  • copy
  • update
  • union
  • intersection
  • difference
  • symmetric_difference
  • issubset
  • issuperset
  • isdisjoint

Korteeži meetodid

  • count
  • index

Regulaaravaldise vaste meetodid

  • group
  • groups
  • groupdict
  • start
  • end
  • span

Erindid

  • Exception
  • ValueError
  • TypeError
  • KeyError
  • IndexError
  • NameError
  • ZeroDivisionError
  • AttributeError
  • RuntimeError
  • StopIteration

Tagasi lükatud

  • class
  • with
  • nonlocal
  • assert
  • yield
  • async
  • await
  • match

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

  • dumps
  • loads

import math

  • acos
  • asin
  • atan
  • atan2
  • ceil
  • comb
  • copysign
  • cos
  • degrees
  • e
  • exp
  • fabs
  • factorial
  • floor
  • fmod
  • gcd
  • hypot
  • inf
  • isfinite
  • isinf
  • isnan
  • lcm
  • log
  • log10
  • log2
  • nan
  • pi
  • pow
  • prod
  • radians
  • sin
  • sqrt
  • tan
  • tau
  • trunc

import random

  • choice
  • choices
  • randint
  • random
  • randrange
  • sample
  • seed
  • shuffle
  • uniform

import re

  • DOTALL
  • I
  • IGNORECASE
  • M
  • MULTILINE
  • S
  • escape
  • findall
  • finditer
  • fullmatch
  • match
  • search
  • split
  • sub
  • subn

import sys

  • version

import time

  • format
  • monotonic
  • parts
  • time
import re

def transform(text):
    return re.sub(r"\s+", " ", text).strip()
Tühikuridade kokkutõmbamine regulaaravaldisega.

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.

Jagamine

Jagamise tegevus kirjutab faili .clinkext ja Impordi tegevus toob selle värske id-ga tagasi. Tegevus jääb alla 48 000 baidi ja peab määrama def transform(.

Looja ›
Laadi alla App Store’ist