Kontrak

Tindakan mentakrifkan transform(text). Apa sahaja yang dipulangkannya ditukar menjadi teks dan dimasukkan di tempat anda menulis.

def transform(text):
    return text.upper()

Pulangkan None untuk tidak memasukkan apa-apa. Untuk cubaan pantas, tetapkan pemboleh ubah result di peringkat atas dan bukan mentakrifkan fungsi.

Dari mana teks datang

MasukanApa yang tindakan terima
TiadaMenjana teks dari awal. transform("").
Perkataan semasaMenghantar perkataan yang sedang ditaip kepada transform(text).
PilihanMenghantar teks yang anda pilih, atau tiada apa-apa jika tiada pilihan.
Baris semasaMenghantar baris tempat kursor berada.
Ayat semasaMenghantar ayat tempat kursor berada.
Teks sebelum kursorMenghantar semua teks sebelum kursor.
Teks selepas kursorMenghantar segala-galanya selepas kursor.
Seluruh medanMenghantar seluruh medan, pada kedua-dua belah kursor.
Papan keratanMenghantar teks papan klip. Memerlukan Akses Penuh.

Ganti input menentukan sama ada keluaran mengambil tempat apa yang masuk. Ia terpakai untuk setiap sumber yang membaca medan. Tiada apa-apa dan Papan keratan tiada apa-apa untuk diganti dalam dokumen, jadi keluarannya sentiasa dimasukkan.

def transform(text):
    words = len(text.split())
    return f"{words} words"
Membaca teks sebelum kursor dengan Ganti input dimatikan, ini menambah kiraan.

Meminta papan kekunci

Tindakan boleh menggunakan arahan yang sama seperti panel, bukannya memulangkan satu rentetan. Begitulah caranya tindakan membuat lebih daripada satu suntingan, atau meninggalkan kursor di tempat tertentu.

def transform(text):
    replace(len(text), "(" + text + ")")
    move_cursor(-1)
Meletakkan perkataan dalam kurungan, kemudian kembali ke dalam kurungan itu.

toast() dan close() milik panel: tindakan tiada permukaannya sendiri untuk memaparkan mesej. Kedua-duanya tetap muncul dalam konsol semasa anda menulisnya.

Bahasanya

Skrip berjalan pada penterjemah Clink sendiri, bukan CPython. Ia membaca subset Python yang berguna: pemahaman senarai, lambda, tupel, set, format f-string, try dan except. Ia menolak selebihnya dengan mesej yang menamakan barisnya.

Jenis

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

Kata kunci

  • 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

Fungsi terbina

  • 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

Kaedah rentetan

  • 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

Kaedah senarai

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

Kaedah kamus

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

Kaedah set

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

Kaedah tupel

  • count
  • index

Kaedah padanan regex

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

Pengecualian

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

Ditolak

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

Ruang nama

Ruang nama ini boleh diimport, dan tiada yang lain. Setiap satu hanya mengira: tiada sistem fail, tiada rangkaian dan tiada proses yang boleh dicapai oleh skrip.

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()
Memampatkan jujukan ruang kosong dengan ungkapan biasa.

Enjin ungkapan biasa ialah milik Clink sendiri, dan ia membelanjakan belanjawan langkah yang sama seperti skrip anda yang lain, jadi corak yang jika tidak akan berjalan tanpa henti berakhir dengan ralat, bukan papan kekunci yang berhenti menjawab. Rujukan belakang dan lookaround tidak disokong.

Mengapa bukan CPython

Sambungan papan kekunci mempunyai siling memori yang ketat, dan iOS menamatkannya tanpa amaran apabila siling itu dilepasi. Masa jalan Python yang penuh tidak akan muat di sebelah papan kekunci, jadi Clink membawa pentafsir kecil yang ditulis khusus untuk tugas ini: tiada import, tiada fail, tiada rangkaian, dan bajet langkah yang menamatkan skrip yang terlepas dan bukan papan kekunci.

print pergi ke konsol dalam editor, tidak pernah ke dalam apa yang anda tulis.

Berkongsi

Kongsi tindakan menulis fail .clinkext, dan Import tindakan membawanya kembali dengan id baharu. Sesuatu tindakan kekal di bawah 48,000 bait dan mesti mentakrifkan def transform(.

Pencipta ›
Muat turun di App Store