Μετάβαση στο περιεχόμενο


Φωτογραφία

operators και κάτι περίεργο!


  • Παρακαλούμε συνδεθείτε για να απαντήσετε
6 μηνύματα σε αυτό το θέμα

#1   zoran

zoran

    iPH newbie

  • 36 μηνύματα
  • Φύλο: Δ/Α

Δημοσίευση 23/09/2017 - 00:42

Δεν καταλαβαίνω πως λειτουργεί το συγκεκριμενο παράδειγα με τους Operators, π.χ.
var x = 10
x = x + 1
Με τα λίγα που ξέρω, θα έλεγα πως δεν ευσταθεί γιατί εάν όπου x=10 τότε πώς βγαίνει σωστό το ότι 10=10+1 αφού κάνει 11!
ή όχι;

Τελευταία επεξεργασία από: zoran, 23/09/2017 - 00:44


Ad

Ad

Team
iPhoneHellas
3,1416 μηνύματα
Twitter: @android
Φύλο: Όπως το δει κανείς
Κινητό: Android
Tablet: Για τα κουνούπια

Γιατί να γίνετε μέλη;

#2   PanosMouz

PanosMouz

    iPH Master

  • 7.098 μηνύματα
  • Twitter:@PanosMouz
  • Φύλο: Άντρας
  • Κινητό: iPhone 3G
  • Tablet:iPad 3 +4G
  • GameCenter:PanosMouz

Δημοσίευση 23/09/2017 - 08:54

Δεν καταλαβαίνω πως λειτουργεί το συγκεκριμενο παράδειγα με τους Operators, π.χ.
var x = 10
x = x + 1
Με τα λίγα που ξέρω, θα έλεγα πως δεν ευσταθεί γιατί εάν όπου x=10 τότε πώς βγαίνει σωστό το ότι 10=10+1 αφού κάνει 11!
ή όχι;

Είναι απλό. Παίρνει το x και στο επόμενο βήμα η τιμή του Χ αλλάζει και γίνεται x+1.

Αν δωσεις εντολή να σου τυπώσει το x θα σου δωσει 11.

Δεν κάνει έλεγχο για να πεις οτι δημιουργείται πρόβλημα.

Απλά παίρνει μια μεταβλητή και στο επόμενο βημα αλλάζει την τιμή της, μέσω της πρόσθεσης

Τελευταία επεξεργασία από: PanosMouz, 23/09/2017 - 08:59

| Jailbreak your iDevice - make it Unique |

#3   zoran

zoran

    iPH newbie

  • 36 μηνύματα
  • Φύλο: Δ/Α

Δημοσίευση 23/09/2017 - 08:56

Α οπότε είναι σύνηθες κάτι τέτοιο το να αλλάζει η τιμή της μεταβλητής χωρίς να χρειάζεται να αλλάξει κανείς το όνομά της;



#4   PanosMouz

PanosMouz

    iPH Master

  • 7.098 μηνύματα
  • Twitter:@PanosMouz
  • Φύλο: Άντρας
  • Κινητό: iPhone 3G
  • Tablet:iPad 3 +4G
  • GameCenter:PanosMouz

Δημοσίευση 23/09/2017 - 08:58

Πιο πολύ πιστεύω οτι θέλει να σου δείξει το θέμα των τελεστων στο συγκεκριμένο παράδειγμα, και τον τροπο λειτουργίας τους.

Π.χ. Τη διαφορά ανάμεσα στο "=" και στο "==" ή τη διαφορά στα θέματα της πρόσθεσης κλπ.

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

Τελευταία επεξεργασία από: PanosMouz, 23/09/2017 - 09:00

| Jailbreak your iDevice - make it Unique |

#5   MasterX

MasterX

    iPH Enthousiast

  • 412 μηνύματα
  • Twitter:@iSmartSolution
  • Φύλο: Άντρας
  • Κινητό: iPhone 7 Plus
  • Tablet:iPad 2

Δημοσίευση 28/09/2017 - 12:34

Α οπότε είναι σύνηθες κάτι τέτοιο το να αλλάζει η τιμή της μεταβλητής χωρίς να χρειάζεται να αλλάξει κανείς το όνομά της;

 

Αυτό εξαρτάται απο τον τύπο της μεταβλητής. Τα πράγματα είναι πολύ απλά αν η μεταβλητή σου είναι primitive (δλδ, integer, double, boolean), γιατί σε αυτή την περίπτωση ισχύει αυτό που έγραψες.

Αν όμως, είναι object, τότε ανάλογα με τον τρόπο που έκανες την αντιγραφή μπορεί να έχεις το ίδιο object με διαφορετικό όνομα ή δύο διαφορετικά objects.



#6   zoran

zoran

    iPH newbie

  • 36 μηνύματα
  • Φύλο: Δ/Α

Δημοσίευση 28/09/2017 - 13:06

Οι μεταβλητές "primitive" & "object" σε ποιά γλώσσα χρησιμοποιούνται; Γιατί στη Swift έχει να κάνει κανείς μόνο με "mutable" & "immutable"  εάν τα λέω καλά!



#7   MasterX

MasterX

    iPH Enthousiast

  • 412 μηνύματα
  • Twitter:@iSmartSolution
  • Φύλο: Άντρας
  • Κινητό: iPhone 7 Plus
  • Tablet:iPad 2

Δημοσίευση 28/09/2017 - 14:14

Οι μεταβλητές "primitive" & "object" σε ποιά γλώσσα χρησιμοποιούνται; Γιατί στη Swift έχει να κάνει κανείς μόνο με "mutable" & "immutable"  εάν τα λέω καλά!

Σε όλες τις γλώσσες. Αυτές που είναι (im)mutable είναι Objects (τις χρησιμοποιείς αφού πρώτα καλέσεις το new ή το init)

Σε γενικές γραμμές, στη objc, swift όλες οι μεταβλητές που ξεκινάνε με NS είναι objects, πχ NSArray, NSDictionary, NSString, κλπ






Χρήστες που διαβάζουν αυτό το θέμα: 0

0 μέλη, 0 επισκέπτες, 0 ανώνυμοι χρήστες