Τελεστές#
Το ρεπερτόριο τελεστών της Perl είναι μεγάλο αλλά η δομή του είναι κανονική. Οι τελεστές ομαδοποιούνται σε μια χούφτα οικογένειες - αριθμητικοί, σύγκρισης, λογικοί, bitwise, σύνδεσης regex, ανάθεσης - και μερικούς μεμονωμένους μηχανισμούς (εύρος, τριαδικός, κόμμα, βέλος, subscripts). Αυτή η αναφορά χωρίζεται σε μία σελίδα ανά οικογένεια.
Η PetaPerl υλοποιεί το πλήρες σύνολο τελεστών Perl 5 με πανομοιότυπη σημασιολογία: ίδια προτεραιότητα, ίδια προσεταιριστικότητα, ίδιοι κανόνες περιβάλλοντος. Οι διαφορές εντοπίζονται στις σημειώσεις ειδικές για PetaPerl στο κάτω μέρος κάθε σελίδας όπου εφαρμόζονται.
Επιλέξτε οικογένεια#
Arithmetic -
+ - * / % **και ο μοναδιαίος+/-.String -
.(συνένωση),x(επανάληψη).Numeric comparison -
< <= == >= > != <=>.String comparison -
lt le eq ge gt ne cmp(λεξικογραφική).Logical -
&& || // ! and or not xorκαι ο κανόνας βραχυκυκλώματος / επιστροφής τελεστέου.Bitwise -
& | ^ ~ << >>.Range -
..και..., με τη διπλή σημασιολογία λίστας/βαθμωτού.Binding -
=~και!~συνδέουν συμβολοσειρές με regex.Assignment -
=και οι σύνθετες μορφές (+= .= ||= //=κλπ.).Ternary -
?:.Subscript -
[],{}, τομές, αγκύλες αποαναφοράς.Arrow -
->(αποαναφορά, κλήση μεθόδου).Comma -
,και το fat comma=>.Precedence - ο πλήρης πίνακας προτεραιότητας και ο κανόνας ανάλυσης ονομασμένου μοναδιαίου τελεστή που μπερδεύει όλους την πρώτη φορά.
Διατομεακές έννοιες#
Μερικές ιδέες εμφανίζονται σε κάθε κεφάλαιο. Διαβάστε τις μία φορά και θα τις αναγνωρίζετε σε όλα τα υπόλοιπα:
Περιβάλλον. Οι τελεστές αποτιμούν τους τελεστέους τους σε συγκεκριμένο περιβάλλον (αριθμητικό, συμβολοσειρά, λίστα, βαθμωτό, λογικό). Πολλές από τις εκπλήξεις στην αριθμητική και τη σύγκριση της Perl προέρχονται από τον εξαναγκασμό περιβάλλοντος στα όρια τελεστέου, όχι από τον ίδιο τον τελεστή.
Βραχυκύκλωμα. Οι
&&,||,//,and,orαποτιμούν από αριστερά προς τα δεξιά και σταματούν μόλις το αποτέλεσμα καθοριστεί. Η τιμή ολόκληρης της έκφρασης είναι το τελευταίο που πραγματικά αποτιμήθηκε - που είναι ένας από τους τελεστέους, όχι ένα κανονικοποιημένο αληθές/ψευδές. Δείτε logical και το boolean-logic tutorial.Προτεραιότητα. Σας λέει πώς δένουν οι τελεστές όταν δεν υπάρχουν παρενθέσεις. Ο πλήρης πίνακας βρίσκεται στο precedence και κάθε σελίδα συνδέει τις γραμμές που την αφορούν.
Lvalue. Οι περισσότεροι τελεστές παράγουν rvalues (τιμές που μπορείτε να διαβάσετε). Μερικοί - ανάθεση, αποαναφορά, τριαδικός σε ορισμένες μορφές - παράγουν lvalues (θέσεις στις οποίες μπορείτε να γράψετε).
Δείτε επίσης#
-
paired with binding.
perlfunc - ενσωματωμένες συναρτήσεις, συμπεριλαμβανομένου κάθε ονόματος που αναφέρεται στην ενότητα ονομασμένοι μοναδιαίοι τελεστές της σελίδας precedence.