Ranges in Swift (με παραδείγματα)

Σε αυτό το άρθρο, θα μάθετε για το εύρος, τον τύπο και τις περιπτώσεις χρήσης στο Swift.

Το εύρος είναι ένα διάστημα τιμών. Ένα απλό παράδειγμα εύρους είναι 0,1,2,3,4,5,6,7,8,9 επειδή οι αριθμοί είναι διαδοχικοί από 0 έως 9.

Μπορούμε να δημιουργήσουμε γρήγορα το εύρος χρησιμοποιώντας δύο τελεστές εύρους που περιγράφονται παρακάτω:

1. Τελεστής κλειστής εμβέλειας (κατώτερος δεσμός… άνω οριοθέτης)

Περιλαμβάνει όλες τις τιμές στο μεσοδιάστημα (κατώτερο προς ανώτερο όριο). Δηλώνεται χρησιμοποιώντας (3 κουκκίδες) χειριστή.

Π.χ .: 1… 3 Ορίζει εύρος που περιέχει τιμές 1,2,3

2. Χειριστής μισής ανοικτής εμβέλειας (χαμηλότερη δέσμευση…

Περιλαμβάνει όλες τις τιμές στο μεσοδιάστημα (κατώτερο προς ανώτερο όριο), αλλά αποκλείει τον τελευταίο αριθμό (ανώτερος δεσμός). Δηλώνεται με χρήση … <χειριστή.

Π.χ .: 1… <3 Ορίζει εύρος που περιέχει τις τιμές 1 και 2

Τύποι εύρους

1. Κλειστό εύρος (κατώτατο όριο… άνω όριο)

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

Παράδειγμα 1: Εκτύπωση τιμών κλειστού εύρους χρησιμοποιώντας βρόχο εισόδου

 // 1… 3 Defines a range containing values 1, 2 and 3 for value in 1… 3 ( print(value) ) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 1 2 3 

Το παραπάνω παράδειγμα δημιουργεί ένα εύρος που περιέχει αριθμούς από 1 έως 3 ( 1… 3). Χρησιμοποιήσαμε έναν βρόχο εισόδου για να δούμε τι τιμές περιέχει το εύρος. Για να μάθετε περισσότερα σχετικά με τους βρόχους εισόδου, επισκεφτείτε το Swift for-in loop.

Χρησιμοποιώντας βρόχο για είσοδο, μπορούμε να δούμε ότι το κλειστό εύρος περιέχει όλες τις τιμές στο δεδομένο εύρος συμπεριλαμβανομένων των χαμηλότερων (1) και άνω (3) δεσμευμένων τιμών.

2. Ημίχρονο ανοιχτό εύρος (χαμηλότερο δέσιμο…

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

Παράδειγμα 2: Εκτύπωση τιμών μισού ανοιχτού εύρους χρησιμοποιώντας βρόχο εισόδου

 // 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) ) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 1 2 

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε το loop in-in για να δούμε πώς λειτουργεί το μισό ανοιχτό εύρος.

Αντί να εκτυπώσουμε όλες τις τιμές, μπορούμε να δούμε ξεκάθαρα χρησιμοποιώντας το μισό ανοιχτό χειριστή εκτυπώνει μόνο 1 και 2 και αποκλείει την ανώτερη τιμή ορίου (δηλ. 3).

3. Εύρος μίας όψης

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

Παράδειγμα 3: Εύρος μίας όψης μικρότερη από 2

 let range =… <2 print(range.contains(-1)) print(range.contains(2)) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Σωστό Λάθος 

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

Για να επικυρώσουμε το αποτέλεσμα, χρησιμοποιήσαμε τη contains μέθοδο. Η containsμέθοδος επιστρέφει απλώς trueεάν το στοιχείο βρίσκεται εντός του εύρους αλλιώς επιστρέφει false.

range.contains(-1)ελέγχει εάν το -1 βρίσκεται εντός του εύρους ή όχι. Από τότε, το εύρος μονής όψης με το άνω όριο 2, και -1 <2 βρίσκεται εντός του εύρους και print(range.contains(-1))εξέρχεται trueστην οθόνη.

However, because of half-open range operator, the upper bound value(2) does not contains inside the range. So, range.contains(2) returns false.

Example 4:One-sided range starting from 2

 let range = 2… print(range.contains(100)) print(range.contains(1)) 

When you run the program, the output will be:

 true false 

The above example creates a one sided range using closed operator that contains numbers from 2 to any values greater than 2.

range.contains(100) checks if 100 lies inside the range or not. Since, its one sided range and 100 is greater than 2, it lies inside the range and prints true in the screen.

However, it has a lower bound value (2), so range.contains(1) returns false .

Things to remember

  • Η αρχή μιας σειράς πρέπει να είναι μικρότερη ή ίση με το τέλος της. Στο παράδειγμά μας (lowerBound… upperBound), η τιμή κατώτερου ορίου πρέπει να είναι μικρότερη από την τιμή ανώτερου ορίου. Ωστόσο, μπορεί να είναι αρνητική τιμή.
    Παράδειγμα:
    3… 1 // ανεπανόρθωτο σφάλμα: Δεν είναι δυνατή η διαμόρφωση εύρους με το άνωBound <lowerBound -3… 1 // Αυτό είναι ένα έγκυρο εύρος. Το κατώτερο όριο / το κατώτερο όριο μπορούν να περιέχουν μια αρνητική τιμή, αλλά θα πρέπει να ισχύει η παραπάνω δήλωση.
  • Μπορούμε να επαναλάβουμε την εμβέλεια (εξαιρουμένης της μονής όψης) χρησιμοποιώντας βρόχους εισόδου.
  • Μπορούμε επίσης να χρησιμοποιήσουμε τον τελεστή εύρους για πρόσβαση σε στοιχεία ενός πίνακα.

ενδιαφέροντα άρθρα...