Διαδρομές
/
Julia
Julia
/
Ύλη
/
Συνθήκες
Συ

Συνθήκες σε Julia

7 ασκήσεις

Σχετικά με την έννοια Συνθήκες

Τελεστές σύγκρισης

Οι τελεστές σύγκρισης στη Julia μοιάζουν με αυτούς πολλών άλλων γλωσσών, αν και προσφέρουν μερικές επιπλέον επιλογές για τους λάτρεις των μαθηματικών.

Για την ισότητα, οι τελεστές είναι == (ίσο) και != ή ≠ (άνισο).

txt = "abc"
txt == "abc"  # true
txt != "abc"  # false
txt ≠ "abc"  # false (synonym for !=)

Επιπλέον, έχουμε τους διάφορους τελεστές μεγαλύτερου/μικρότερου.

1 < 3  # true
3 > 3  # false
3 <= 3  # true
3 ≤ 3  # true (synonym for <=)
4 >= 3  # true
4 ≥ 3  # true (synonym for >=)

Όπως συμβαίνει συχνά με τη Julia, ένας κατάλληλος επεξεργαστής κάνει εύκολη τη χρήση του μαθηματικού συμβόλου. Πληκτρολόγησε \ne, \le ή \ge και μετά TAB για να πάρεις ≠, ≤ ή ≥.

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

Οι τελεστές σύγκρισης μπορούν να χρησιμοποιηθούν σε αλυσίδα, κάτι που επιτρέπει μια σαφή και συνοπτική σύνταξη:

n = 3
1 ≤ n ≤ 5  # true (n "between" two limits)

Το προηγούμενο παράδειγμα είναι συνώνυμο του 1 ≤ n && n ≤ 5.

Διακλάδωση με if

Αυτή είναι η πλήρης μορφή μιας εντολής if:

if conditional1
    statements...
elseif conditional2
    statements...
else
    statements...
end

Δεν χρειάζονται παρενθέσεις () ή άγκιστρα {}, και η εσοχή είναι "μόνο" για να βελτιώσει την αναγνωσιμότητα (αλλά η αναγνωσιμότητα είναι πολύ σημαντική!).

Τόσο το elseif όσο και το else είναι προαιρετικά, και μπορούν να υπάρχουν πολλά μπλοκ elseif. Ωστόσο, το end είναι υποχρεωτικό.

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

Η συντομότερη μορφή μιας εντολής if θα ήταν κάπως έτσι:

if n < 0
    n = 0
end

Υπενθύμιση: μόνο εκφράσεις που αξιολογούνται σε true ή false μπορούν να χρησιμοποιηθούν ως συνθήκες. Η Julia αποφεύγει σκόπιμα κάθε έννοια "truthiness", οπότε οι μηδενικές τιμές, οι κενές συμβολοσειρές και οι κενοί πίνακες δεν είναι ισοδύναμοι με το false.

Τριαδικός τελεστής

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

Η Julia, όπως πολλές γλώσσες, έχει έναν τριαδικό τελεστή που το κάνει πιο συνοπτικό.

Η σύνταξη είναι conditional ? value_if_true : value_if_false.

Έτσι, το προηγούμενο παράδειγμα θα μπορούσε να ξαναγραφτεί:

n = n < 0 ? 0 : n

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

Έχει η Julia εντολή match;

Καμία δομή match/case δεν αποτελεί αυτή τη στιγμή μέρος της βασικής γλώσσας.

Για απλές περιπτώσεις, συνιστάται η χρήση if..elseif..else.

Για προχωρημένη αντιστοίχιση προτύπων, παρόμοια με τη Scala, το πακέτο Match.jl είναι δημοφιλές. Ωστόσο, όπως συμβαίνει με τα περισσότερα πακέτα τρίτων, το Match δεν είναι διαθέσιμο στον εκτελεστή δοκιμών του Exercism.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Συνθήκες

Η εξάσκηση είναι κλειδωμένη

Ξεκλείδωσε 5 ακόμη ασκήσεις για να εξασκηθείς στην έννοια Συνθήκες