Έχουν δημοσιευτεί Τετάρτη, 22 Νοεμβρίου 2006 11:22 πμ από το μέλος PALLADIN

Looper Code Puzzle... The C# way

Σε συνεχεια του προηγουμενου post

μια πιθανή λύση σε C# του προγουμένου puzzle θα ήταν και η κάτωθι (με την παραδοχή ότι μπορούμε να χρησιμοποιήσουμε και δικούς μας τύπους και όχι μονο τα primitives της γλώσσας)

class Infinity
{
 public static Infinity operator +(Infinity infinity, int value)
 {
  return infinity;
 }
}

Infinity i = new Infinity();
while(i == i + 1){}

Βεβαια στην Java δεν ισχύει καθώς δεν υποστηρίζεται operator overloading

Share


Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια

Σχόλια:

 

Νατάσα Μανουσοπούλου έγραψε:

Σε γλώσσες που μπορείς να πανωγράψεις τη σημασιολογία των τελεστών, το παζλ αυτό δεν έχει νόημα, γιατί μπορείς να υλοποιήσεις το οτιδήποτε. Αντί για το + μπορούσες να κάνεις overload το == για παράδειγμα. Το θέμα είναι να ανακαλύψεις την κλάση ή το αντικείμενο για το οποίο με τη δεδομένη σημασιολογία ισχύει η συνθήκη.
Νοεμβρίου 22, 2006 4:18 μμ
 

PALLADIN έγραψε:

Σωστή παρατήρηση...

εάν έλεγε η διατύπωση ότι πρέπει να χρησιμοποιηθούν μονο primitives τότε και η C# θα ήταν στην κατάσταση της Java

Αυτά τα puzzle δεν έχουν κανενα νόημα σε γλώσσες όπως η Ruby
που δεν έχεις τύπους και μπορείς να αλλάξεις οποιδήποτε υλοποίηση σε οποιδήποτε class είτε είναι δικη σου είτε του συστήματος
Νοεμβρίου 22, 2006 4:46 μμ

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο)
απαιτούμενο
προαιρετικό
απαιτούμενο
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image