Μετάβαση στο περιεχόμενο

Ενέργειες κώδικα

Όταν ο γράφος δεν αρκεί, το κουτί Κώδικας εκτελεί ένα σενάριο κώδικα.

Είναι διαθέσιμες επτά γλώσσες, όλες εκτελούμενες μέσα σε ένα ενσωματωμένο απομονωμένο περιβάλλον WebAssembly: δεν απαιτείται κανένας διερμηνέας στο μηχάνημά σας, και το σενάριο κώδικα δεν έχει πρόσβαση στο σύστημα αρχείων σας.

ΓλώσσαΜηχανή
TypeScriptQuickJS (οι τύποι αφαιρούνται κατά τη μεταγλώττιση)
JavaScriptQuickJS
PythonPyodide (CPython μεταγλωττισμένη σε WebAssembly)
LuaLua 5.4 σε WebAssembly
RubyCRuby σε WebAssembly
RWebR
C#.NET σε WebAssembly με Roslyn

Η προεπιλεγμένη γλώσσα είναι η TypeScript.

Όποια κι αν είναι η γλώσσα, το κουτί εκθέτει τα ίδια πράγματα:

Είσοδοιvalue (με όνομα input), code (συμβολοσειρά)
Έξοδοιresult
Διαμόρφωσηlanguage, code, timeout, packages
  • input — η τιμή που λαμβάνεται στη θύρα εισόδου.
  • vars — οι μεταβλητές εκτέλεσης.
  • Η τυπική έξοδος της γλώσσας (console.log, print, puts, cat, Console.WriteLine) τροφοδοτεί το αρχείο καταγραφής της εκτέλεσης.
  • Η τιμή που επιστρέφεται φεύγει στη θύρα result. Ένα σφάλμα ή μια υπέρβαση χρονικού ορίου φεύγει στη θύρα error.

Το timeout, σε δευτερόλεπτα: 5 εξ ορισμού, 60 το μέγιστο. Ένα σενάριο κώδικα που το υπερβαίνει διακόπτεται και η εκτέλεση φεύγει στη θύρα error.

Το πεδίο packages δέχεται μια λίστα από { nom, version }. Οι ακριβείς εκδόσεις χρησιμεύουν ως κλειδί προσωρινής μνήμης: οι εξαρτήσεις επιλύονται στην πρώτη εκτέλεση, αποθηκεύονται προσωρινά, και έπειτα τοποθετούνται εκτός σύνδεσης σε κάθε επόμενη εκτέλεση — ακόμη και σε CI.

ΓλώσσαΠηγή
TypeScript / JavaScriptnpm (το σύνολο πακετάρεται)
PythonΤροχοί καθαρής Python από το PyPI
LuaLuaRocks (πηγές καθαρής Lua)
RubyGems καθαρής Ruby
RCRAN, μέσω του αποθετηρίου WebAssembly του WebR
C#Κανένα — μόνο η τυπική βιβλιοθήκη .NET

Πότε να μη γράψετε κώδικα

Section titled “Πότε να μη γράψετε κώδικα”

Πολλές ανάγκες καλύπτονται ήδη από κουτιά, πιο ευανάγνωστα και πιο γρήγορα:

ΑνάγκηΚουτί
Εξαγωγή μιας τιμής από μια απόκρισηΈνας επιλογέας συνδέσμου
Μορφοποίηση μιας συμβολοσειράςΜετασχηματισμός
Φιλτράρισμα, ταξινόμηση, συνάθροιση μιας λίσταςΛίστες
Κατακερματισμός, κωδικοποίηση, υπογραφήΚωδικοποίηση
Έλεγχος μιας δομήςΕπικύρωση σχήματος

Κρατήστε το κουτί Κώδικας για τη λογική που είναι πραγματικά ειδική.