Σε αυτό το άρθρο, θα μάθετε να χρησιμοποιείτε το συμβολισμό infix για να καλέσετε μια συνάρτηση στο Kotlin (με τη βοήθεια παραδειγμάτων).
Πριν μάθετε πώς να δημιουργήσετε μια συνάρτηση με σημείωση infix, ας εξερευνήσουμε δύο κοινά χρησιμοποιούμενες συναρτήσεις infix.
Όταν χρησιμοποιείτε ||
και &&
λειτουργείτε, ο μεταγλωττιστής αναζητά ή / και λειτουργεί αντίστοιχα και τους καλεί κάτω από την κουκούλα.
Αυτές οι δύο λειτουργίες υποστηρίζουν το συμβολισμό infix.
Παράδειγμα: Kotlin ή & και λειτουργία
fun main(args: Array) ( val a = true val b = false var result: Boolean result = a or b // a.or(b) println("result = $result") result = a and b // a.and(b) println("result = $result") )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
αποτέλεσμα = αληθινό αποτέλεσμα = λάθος
Στο παραπάνω πρόγραμμα, a or b
αντί για a.or(b)
, και a and b
αντί a.and(b)
χρησιμοποιείται. Ήταν εφικτό επειδή αυτές οι δύο λειτουργίες υποστηρίζουν τη σημείωση infix.
Πώς να δημιουργήσετε μια συνάρτηση με συμβολισμό infix;
Μπορείτε να πραγματοποιήσετε μια κλήση συνάρτησης στο Kotlin χρησιμοποιώντας συμβολισμό infix εάν η συνάρτηση
- είναι μια συνάρτηση μέλους (ή μια συνάρτηση επέκτασης).
- έχει μόνο μία μόνο παράμετρο.
- επισημαίνεται με
infix
λέξη-κλειδί.
Παράδειγμα: Λειτουργία καθορισμένη από τον χρήστη με συμβολισμό Infix
class Structure() ( infix fun createPyramid(rows: Int) ( var k = 0 for (i in 1… rows) ( k = 0 for (space in 1… rows-i) ( print(" ") ) while (k != 2*i-1) ( print("* ") ++k ) println() ) ) ) fun main(args: Array) ( val p = Structure() p createPyramid 4 // p.createPyramid(4) )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
* * * * * * * * * * * * * * * *
Εδώ, createPyramid()
είναι μια συνάρτηση infix που δημιουργεί μια δομή πυραμίδας. Είναι μια συνάρτηση μέλους της κλάσης Structure
, παίρνει μόνο μία παράμετρο τύπου Int
και ξεκινά με λέξη-κλειδί infix
.
Ο αριθμός των σειρών της πυραμίδας εξαρτάται από το όρισμα που μεταβιβάστηκε στη συνάρτηση.