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
| Masukan | Apa yang tindakan terima |
|---|---|
| Tiada | Menjana teks dari awal. transform(""). |
| Perkataan semasa | Menghantar perkataan yang sedang ditaip kepada transform(text). |
| Pilihan | Menghantar teks yang anda pilih, atau tiada apa-apa jika tiada pilihan. |
| Baris semasa | Menghantar baris tempat kursor berada. |
| Ayat semasa | Menghantar ayat tempat kursor berada. |
| Teks sebelum kursor | Menghantar semua teks sebelum kursor. |
| Teks selepas kursor | Menghantar segala-galanya selepas kursor. |
| Seluruh medan | Menghantar seluruh medan, pada kedua-dua belah kursor. |
| Papan keratan | Menghantar 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"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)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
intfloatstrboolNonelisttupledictset
Kata kunci
ifelifelsewhileforindefreturnbreakcontinuepassTrueFalseNoneandornotlambdatryexceptfinallyraiseimportfromasisdelglobal
Fungsi terbina
lenstrreprprintintfloatboolabsroundminmaxsumrangesortedreversedlistdictsettupleenumeratezipordchranyalltypemapfilterdivmodpowhexbinoctformatisinstancecallable
Kaedah rentetan
upperlowercasefoldtitlecapitalizeswapcasestriplstriprstripreplacesplitrsplitsplitlinesjoinstartswithendswithfindrfindindexrindexcountpartitionrpartitionzfillljustrjustcenterisdigitisnumericisalphaisalnumisspaceisupperisloweristitleremoveprefixremovesuffixformat
Kaedah senarai
appendextendpopinsertremoveindexcountsortreverseclearcopy
Kaedah kamus
keysvaluesitemsgetpoppopitemsetdefaultupdateclearcopy
Kaedah set
adddiscardremovepopclearcopyupdateunionintersectiondifferencesymmetric_differenceissubsetissupersetisdisjoint
Kaedah tupel
countindex
Kaedah padanan regex
groupgroupsgroupdictstartendspan
Pengecualian
ExceptionValueErrorTypeErrorKeyErrorIndexErrorNameErrorZeroDivisionErrorAttributeErrorRuntimeErrorStopIteration
Ditolak
classwithnonlocalassertyieldasyncawaitmatch
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
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()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.