Πώς να Χρησιμοποιήσετε Σωστά τα Type-ins

+3

Σχόλιο Μεταφραστή

Γεια σας παιδιά! Σήμερα είπα να μεταφράσω και να προσαρμόσω στα ελληνικά ένα πολύ σημαντικό blog από τον Stewart πάνω στα πολύ χρήσιμα type-ins.

Αν θέλετε να διαβάσετε τη αγγλική έκδοση πατήστε εδώ!

Στο JetPunk, έχουμε αυτά που λέγονται type-ins . Αυτά χρησιμοποιούν κανονικές εκφράσεις για να ταιριάζουν με αυτό που θέλει ο χρήστης να εισάγεται στο πλαίσιο κειμένου με τις εκφράσεις συνόλου. Για παράδειγμα, η έκφραση μπορεί να σημαίνει απλώς "πληκτρολογήστε ΣΚΎΛΟΣ ακριβώς", οπότε ο χρήστης θα πρέπει να πληκτρολογήσει τη λέξη "σκύλος".

Σε αυτό το σημείο καλό θα ήταν να αναφέρουμε ότι το JetPunk δεν κάνει διάκριση πεζών-κεφαλαίων, δηλαδή ότι το "αλΦα" θεωρείται το ίδιο με το "ΑΛΦα". Αυτό είναι χρήσιμο αφού δεν χρειάζεται να κάνουμε διάκριση μεταξύ κεφαλαίων και πεζών.

Απλά Type-ins

Υπάρχουν πολλοί απλοί τρόποι για να προσθέσετε type-in στις απαντήσεις JetPunk. Για κάθε απάντηση, σας παρουσιάζονται τρεις επιλογές: "Auto", "Custom" ή "Exact".

• Το Auto και το Exact, στα ελληνικά είναι το ιδιο. Θα χρησιμοποιήσουν την αυτόματη εισαγωγή, δηλαδή την απάντηση που έχετε γράψει.

• Το Custom σάς επιτρέπει να προσθέσετε τους δικούς σας τύπους και είναι το πιο χρήσιμο στα ελληνικά.

Δεδομένου ότι τα άλλα δύο δεν έχουν προσαρμογές, μόνο το Custom αξίζει να συζητηθεί λεπτομερώς. Όταν επιλέγετε Custom, θα παρατηρήσετε 4 επιλογές να εμφανίζονται στο κάτω μέρος του πλαισίου:

+ Starts with - αυτή είναι η προεπιλεγμένη επιλογή, σας επιτρέπει να αποφασίσετε με τι πρέπει να αρχίσει να απαντά ο χρήστης όταν πληκτρολογεί. Π.χ. ορίζοντας αυτό σε "ΚΊΝΑ" σημαίνει ότι ο χρήστης πρέπει να ξεκινήσει την απάντησή του με το κείμενο "Κίνα" για να γίνει αποδεκτή ως μια απάντηση.

• + Ends with - αυτό είναι παρόμοιο με το παραπάνω, εκτός από αυτό απαιτεί το τέλος της πληκτρολογημένης εικασίας να είναι κάτι συγκεκριμένο. Π.χ. η ρύθμιση του σε "EVEREST" σημαίνει ότι η εικασία του χρήστη τελειώνει με αυτό, επομένως το "everest" και το "mounteverest" θα γίνονται δεκτά και τα δύο.

+ Contains - αυτή η επιλογή σάς επιτρέπει να αποδεχτείτε μαντεψιές που περιέχουν μια συγκεκριμένη σειρά χαρακτήρων. Ένα κοινό παράδειγμα αυτού είναι το "ΚΟΝΓΚΌ", το οποίο δέχεται οποιαδήποτε απάντηση που περιέχει τη λέξη "κονγκό" κάπου.

+ Regex - αυτό επιτρέπει την πλήρη προσαρμογή και συζητείται λεπτομερώς παρακάτω, όντας η πιο χρήσιμη για τα ελληνικά κουίζ

Συνολικά, το να ξεκινήσετε με τα type-ins είναι αρκετά εύκολο, αλλά στην πραγματικότητα η δημιουργία τύπων που ταιριάζουν με πολλές πιθανές απαντήσεις είναι πιο χρήσιμη. Για παράδειγμα, δεν θα μπορέσετε ποτέ να προσθέσετε κάθε πιθανή ορθογραφία του Κιργιζιστάν χρησιμοποιώντας τα 3 πρώτα παραπάνω, γι' αυτό χρειαζόμαστε μερικά πιο ισχυρά εργαλεία.

Type-ins με RegEx

Το RegEx είναι συντομογραφία του Regular Expression και αναφέρεται σε ένα σχεδόν καθολικό εργαλείο στον προγραμματισμό που σας επιτρέπει να διαμορφώνετε μοτίβο κειμένου αντιστοίχισης σε περιπτώσεις. Θα χρησιμοποιήσουμε μια απλοποιημένη έκδοση, καθώς πολλές από τις δυνατότητες του RegEx δεν είναι χρήσιμες ή διαθέσιμες στο JetPunk. Για παράδειγμα, υπάρχουν χαρακτήρες που χρησιμοποιούνται για την αντιστοίχιση μοτίβων σε ορισμένα σύμβολα, αλλά αυτό είναι άχρηστο καθώς το πλαίσιο απαντήσεων στο JetPunk δέχεται μόνο αλφαριθμητική εισαγωγή (γράμματα και αριθμούς).

Υπάρχουν 4 διαφορετικά "tokens" που μας είναι χρήσιμα:

• Character Classes

• Anchors

• Quantifiers και Alternation

• Capturing Groups

Character Classes

Οι «κατηγορίες χαρακτήρων» ορίζουν ένα σύνολο χαρακτήρων που πρέπει να αντιστοιχιστούν. Αυτά ορίζονται χρησιμοποιώντας αγκύλες [ ] . Από μόνα τους, θα ταιριάζουν μόνο με ένα γράμμα τη φορά μέσα στα γράμματα μεταξύ των παρενθέσεων, που ονομάζονται τάξη.


Παραδείγματα:

• [ΑΒΓ] - αυτό από μόνο του θα ταιριάζει με οποιαδήποτε απάντηση που περιέχει ένα Α, Β ή Γ

• ΑΥΤ[ΌΉΊ] - αυτό θα ταιριάζει μόνο όταν έχει εισαχθεί ΑΥΤΌ, ΑΥΤΉ ή ΑΥΤΊ, καθώς το [ΌΉΊ] ταιριάζει μόνο με έναν χαρακτήρα (θα δούμε αργότερα με τους Quantifiers πώς να το αυξήσουμε)

• [Α-Ο] - μπορείτε επίσης να χρησιμοποιήσετε μια παύλα στο εσωτερικό για να επιτρέψετε την αντιστοίχιση μοτίβων με οποιοδήποτε γράμμα μεταξύ A και Ο

• [0-7] - αυτή η δυνατότητα εμβέλειας λειτουργεί επίσης με αριθμούς

• [AΔ][ΖΙ] - αυτές οι κατηγορίες χαρακτήρων μπορούν επίσης να τοποθετηθούν η μία δίπλα στην άλλη, αυτό θα ταιριάζει όταν εισαχθεί ΑΖ, AΙ, ΔΖ ή ΔΙ

• ΙΤΑΛ[ΊΙ]Α - στα ελληνικά που υπάρχουν και οι τόνοι, είναι πολύ χρήσιμο να αποδέχεται το παιχνίδι και τις τονισμένες απαντήσεις. Εδώ δηλαδή θα δέχεται και ΙΤΑΛΙΑ και το ΙΤΑΛΊΑ


Anchors

Οι «άγκυρες» χρησιμοποιούνται για να καθορίσουν πού πρέπει να ταιριάξουμε. Υπάρχουν τεχνικά 3 άγκυρες που χρησιμοποιούμε:


^ - αυτό το βάζουμε στην αρχή του RegEx και λειτουργεί σαν «Start with»


$ - αυτό πηγαίνει στο τέλος του RegEx και λειτουργεί σαν «Ends with»

• Αν και αυτό το τελευταίο είναι λίγο περίεργο, στην πραγματικότητα είναι η απουσία των ^ και $, που σημαίνει ότι θέλουμε την απάντησή μας να λειτουργεί σαν «Contains»

Θα παρατηρήσετε ότι αυτές οι 3 επιλογές ευθυγραμμίζονται με τις επιλογές JetPunk που αναφέρονται παραπάνω στην ενότητα «Απλά Type-ins». Το μειονέκτημα στη χρήση αυτών των 3 επιλογών είναι ότι δεν μπορείτε να χρησιμοποιήσετε κανένα άλλο Regex μέσα σε αυτές, μόνο απλά γράμματα και αριθμούς.

Παραδείγματα:
^ΓΆΤΑ - αυτό σημαίνει ότι θέλουμε η απάντησή μας να ξεκινά με "ΓΆΤΑ", αυτός είναι ο κανονικός τύπος για απαντήσεις, αφού απλώς ταιριάζει με εσάς που πληκτρολογείτε την απάντηση
ΟΣ$ - θα ενεργοποιείται κάθε φορά που οτιδήποτε πληκτρολογείται στο πλαίσιο κειμένου τελειώνει με "ΟΣ", π.χ. "ΟΣ", "ΚΑΛΟΣ" ή ακόμα και "ΑΒΓΣΘΣΞΩΕΙΔΟΖΟΣ"

ΑΥΤΌΣ - αυτό θα ταιριάζει με οποιαδήποτε απάντηση περιέχει τη λέξη ΑΥΤΌΣ, π.χ. "ΑΥΤΌΣ" ή "ΠΟΙΟΣΕΙΝΑΙΑΥΤΌΣΕΚΕΊ", αν και τη δεύτερη δεν θα μπορείτε να πληκτρολογήσετε "ΕΚΕΊ", καθώς θα ενεργοποιήσει την απάντηση στο "ΠΟΙΟΣΕΙΝΑΙΑΥΤΌΣ"

^ΑΥΤ[ΌΟ]Σ - αυτό ταιριάζει και με το τονισμένο «ΑΥΤΌΣ» και το ατόνιστο «ΑΥΤΟΣ»

Νομίζω ότι αυτό σας δίνει μια ιδέα για το πού μπορείτε να πάτε. Είναι εύκολο να καταλάβει κανείς ότι η χρήση ^ και $ στην ίδια απάντηση θα ήταν μάλλον άσκοπη στην περίπτωση του JetPunk

Quantifiers και Alternation

Υπάρχουν 3 κύρια διακριτικά εδώ που είναι χρήσιμα για το JetPunk και ένα επιπλέον που είναι δυνατό να χρησιμοποιηθεί, αλλά δεν μπορώ να δω τη χρήση του ιδιαίτερα.


+ - το σύμβολο «συν» ταιριάζει με 1 ή περισσότερα από τα προηγούμενα διακριτικά (μπορεί να είναι χαρακτήρες ή τα περισσότερα άλλα «tokens»)

? - το ερωτηματικό χρησιμοποιείται, κατάλληλα, για να ταιριάζει με το 0 ή το 1 του προηγούμενου διακριτικού. Χρησιμοποιείται ιδιαίτερα για να υποδηλώσει προαιρετικούς χαρακτήρες σε ένα type-in

| - αυτός είναι ο χαρακτήρας καθέτου που ονομάζεται εναλλαγή. Αυτό λειτουργεί σαν μια λειτουργία boolean Ή, που σημαίνει ότι θα ταιριάζει με την έκφραση πριν ή μετά το |. Μπορεί να ενεργήσει σε μια μεμονωμένη ομάδα ή σε μια ολόκληρη έκφραση

Το επιπλέον είναι *, το οποίο ταιριάζει με 0 ή περισσότερα από το προηγούμενο διακριτικό. Το οποίο είναι εύλογο να χρησιμοποιηθεί, αλλά όπως ανέφερα δεν μπορώ να σκεφτώ μια πρακτική χρήση του.

Παραδείγματα:

^ΠΕΡΙΣ+ΌΤΕΡΟ - αυτό σημαίνει ότι ξεκινάμε με "ΠΕΡΙΣ" και μετά μπορούμε να έχουμε οποιονδήποτε αριθμό ο στη μέση, π.χ. "ΠΕΡΙΣΌΤΕΡΟ", "ΠΕΡΙΣΣΌΤΕΡΟ" και "ΠΕΡΙΣΣΣΣΣΣΣΌΤΕΡΟ" όλα λειτουργούν

^ΦΙΛΙΠΠ?[ΊΙ]ΝΕΣ - το αρχικό type-in για τις Φιλιππίνες, το οποίο σας επιτρέπει να πληκτρολογήσετε είτε 1 είτε 2 Π, καθώς το δεύτερο Π είναι προαιρετικό

^ΜΥΑΝΜ[ΆΑ]Ρ|^ΒΙΡΜΑΝ[ΊΙ]Α - αυτό χρησιμοποιεί μια εναλλαγή σε ολόκληρη την έκφραση και θα ταιριάζει με μια απάντηση όταν ξεκινά είτε με «ΜΥΑΝΜΑΡ/ΜΥΑΝΜΆΡ» ή «ΒΙΡΜΑΝΙΑ/ΒΙΡΜΑΝΊΑ». Αυτό είναι ιδιαίτερα χρήσιμο για κουίζ «κατά σύνορα» όταν εξαντληθεί ο αριθμός των κουτιών (επιτρέπονται το πολύ 10).

• ^ΠΕΛΟΠ+[ΌΟ]ΝΝ?ΗΣΟΣ - αυτό έχει ένα προαιρετικό «Ν», επιτρέπει 1+ «Π» και επιτρέπει τη λέξη να είναι και τονισμένη και ατόνιστη στο «Ο», οπότε τα «Πελοπόνησος», «Πελοπποννησος» και «Πελοππππόνννννησος» θα ενεργοποιήσουν όλα αυτόν το type-in

• ^Κ[ΙΥ]ΡΓ[Α-Ω]+(Ζ[ΊΙ]Α|ΣΤ[ΆΑ]Ν) - το διάσημο type-in για το Κιργιστάν! Αυτό επιτρέπει οποιαδήποτε λέξη που ξεκινά με K, ακολουθείται από ένα 'I' ή 'Y', μετά ένα "ΡΓ", μετά γίνεται ωραίο - οποιοσδήποτε αριθμός γραμμάτων του αλφαβήτου (τουλάχιστον ένα) - και τέλος ένα "ΣΤΑΝ", "ΣΤΆΝ", "ΖΊΑ" ή "ΖΙΑ" . Αυτό σημαίνει ότι το "ΚΥΡΓΑΣΤΆΝ" και το "ΚΙΡΓΕΗΕΒΣΞΖΙΑ" ενεργοποιούν μια απάντηση Κιργιστάν/Κιργιζία στο JetPunk.

ΠΡΟΣΟΧΗ : Αυτός ο συνδυασμός "[AZ]+" θα πρέπει να χρησιμοποιείται με φειδώ, διαφορετικά μπορεί να καταλήξει να δέχεται απαντήσεις που δεν θέλετε

Κάποιοι συνδυασμοί δεν ισχύουν, όπως ?+ αφού αυτό λογικά δεν βγάζει νόημα, επίσης +? ισχύει, αλλά δεν κάνει τίποτα διαφορετικό από το + ούτως ή άλλως.

Ένα παράδειγμα αυτού του διακριτικού αστεριού που αναφέρεται θα ήταν το ^ΚΑΛ*Α που επιτρέπει αντιστοιχίσεις όπως "ΚΑΑ", "ΚΑΛΑ" και "ΚΑΛΛΛΛΛΑ", καθώς όλα αυτά περιέχουν 0+ Λ στη μέση. Και πάλι αυτό μπορεί να γίνει στο JetPunk, αλλά δεν έχω βρει ακόμη ένα πρακτικό παράδειγμα για αυτό.

Capturing Groups

Τέλος, οι ομάδες λήψης χρησιμοποιούν κανονικές παρενθέσεις ( ) για να ομαδοποιήσουν χαρακτήρες ή διακριτικά μαζί. Αυτό σημαίνει ότι μπορείτε να εφαρμόσετε όλα τα προηγούμενα εργαλεία για να δημιουργήσετε όποια εισαγωγή θέλετε τώρα.

Παραδείγματα:

•  ^ΑΙΓ(ΑΊ|ΆΙ|Ε|Έ)Ο - Εδώ δουλεύουν τα: «ΑΙΓΑΙΟ», «ΑΙΓΑΊΟ», «ΑΙΓΕΟ» και «ΑΙΓΈΟ»

ΚΛΕΦΤΡΟΝΙ(ΚΑΙ)?ΤΖΕΝΤΛΕΜΑΝ - αυτό χρησιμοποιεί ένα προαιρετικό σε μια ολόκληρη ομάδα, που σημαίνει ότι μόνο απαντήσεις που ξεκινούν με "ΚΛΕΦΤΡΟΝΙΤΖΕΝΤΛΕΜΑΝ" και "ΚΛΕΦΤΡΟΝΙΚΑΙΤΖΕΝΤΛΕΜΑΝ" γίνονται δεκτές εδώ

^Τ?Ζ[ΑΕΙΟΗΥ]Τ+ΠΑΝ?Κ - γίνεται λίγο πιο περίπλοκο εδώ, κάνοντας το αρχικό Τ προαιρετικό, επιτρέποντας τώρα στον δεύτερο χαρακτήρα να είναι οποιοδήποτε φωνήεν, καθώς και στη συνέχεια επιτρέποντας 1+ T στη συνέχεια και ένα προαιρετικό N. Έτσι "ΤΖΕΤΠΑΝΚ", "ΤΖΑΤΤΤΠΑΚ " και "ΖΗΤΤΠΑΝΚ" ισχύουν όλα για αυτό το type-in

^([ΆΑ]([ΪΙ]|ΓΙΟΣ))?(ΕΥ)?ΣΤΡ[ΑΆ]Τ(ΙΟ|ΗΣ)Σ - αυτό φαίνεται αρκετά περίπλοκο, οπότε ας το αναλύσουμε σε μέρη:

- ([ΆΑ]([ΪΙ]|ΓΙΟΣ))? - Εδώ έχουμε την προαιρετική λέξη που σημαίνει «Άγιος», «Αγιος», «Αι» ή «Αϊ».

- (ΕΥ)?ΣΤΡ[ΑΆ]Τ(ΙΟ|Η)Σ - Εδώ έχουμε την λέξη «Ευστράτιος», «Ευστρατιος», «Στράτιος», «Στρατιος», «Στράτης», «Στρατης», «Ευστρατης» ή «Ευστράτης»

Όπως μπορείτε να δείτε, σε συνδυασμό, αυτά μπορεί να είναι πολύ ισχυρά εργαλεία που μπορούν να παρέχουν πολύ χρήσιμους τύπους για τους δημιουργούς κουίζ και όσους κάνουν κουίζ.

Ποιο το νόημα;

Ο σκοπός των type-ins είναι να παρέχουν έναν ευκολότερο τρόπο αντιστοίχισης με πιθανές απαντήσεις των χρηστών. Ναι, είναι δυνατό να πληκτρολογήσετε κάθε δυνατή ορθογραφία που κάποιος μπορεί να εισαγάγει ως απάντηση, αλλά τι γίνεται αν χάσετε τον τρόπο ορθογραφίας κάποιου; Και γιατί να το κάνουμε αυτό όταν μπορούμε να τα απλοποιήσουμε;

Επιστρέφοντας στο παράδειγμα του Κιργιστάν / της Κιργιζίας, όπως το πει κανεις, σε συνδυασμό με το αγγλικό μπέρδεμα του Kyrgyzstan γίνεται δύσκολο για κάποιον να το γράψει. Άρα αυτός ο τύπος, «απογυμνώνοντας» τη λέξη, το κάνει πιο εύκολο για όποιον ξέρει.

Τέλος, πολλοί χρήστες εκτιμούν πότε ένας δημιουργός κουίζ καταβάλλει προσπάθεια για πληκτρολόγηση, καθώς αυτό το κάνει πιο ευχάριστο κουίζ, ειδικά όταν ορισμένες από τις απαντήσεις προέρχονται από άλλες γλώσσες ή μπορεί να είναι απλά περίεργες στην ορθογραφία ή τον σχηματισμό.

Επίσης, εάν θέλετε να εξερευνήσετε το RegEx πιο έξω από το JetPunk για να εξασκηθείτε ή με άλλο τρόπο, το RegExr είναι ένα εξαιρετικό εργαλείο για να κατανοήσετε όλη την ορολογία και τις δυνατότητες. Είναι επίσης χρήσιμο για τη δοκιμή των πιο περίπλοκων τύπων!

Comments
No comments yet