diff --git a/el-gr/racket-gr.html.markdown b/el-gr/racket-gr.html.markdown index 4c76b174..4c4576bb 100644 --- a/el-gr/racket-gr.html.markdown +++ b/el-gr/racket-gr.html.markdown @@ -74,8 +74,8 @@ H Racket είναι μια γενικού σκοπού, πολυ-υποδειγ (+ 1+2i 2-3i) ; => 3-1i ;;; Λογικές μεταβλητές -#t ; για το true -#f ; για το false +#t ; για το true (αληθής) +#f ; για το false (ψευδής) (not #t) ; => #f (and 0 #f (error "doesn't get here")) ; => #f (or #f 0 (error "doesn't get here")) ; => 0 @@ -88,9 +88,9 @@ H Racket είναι μια γενικού σκοπού, πολυ-υποδειγ ;;; Τα αλφαριθμητικά είναι πίνακες χαρακτήρων συγκεκριμένου μήκους "Hello, world!" "Benjamin \"Bugsy\" Siegel" ; Το backslash είναι χαρακτήρας διαφυγής -"Foo\tbar\41\x21\u0021\a\r\n" ; συμπεριλαμβάνονται οι χαρακτήες διαφυγής της C, - ; σε Unicode -"λx:(μα.α→α).xx" ; μπορούν να υπάρχουν και Unicode χαρακτήρες +"Foo\tbar\41\x21\u0021\a\r\n" ; Συμπεριλαμβάνονται οι χαρακτήες διαφυγής της C, + ; σε Unicode +"λx:(μα.α→α).xx" ; Μπορούν να υπάρχουν και Unicode χαρακτήρες ;; Μπορούμε να εννώσουμε αλφαριθμητικά! (string-append "Hello " "world!") ; => "Hello world!" @@ -109,14 +109,16 @@ H Racket είναι μια γενικού σκοπού, πολυ-υποδειγ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 2. Μεταβλητές ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; You can create a variable using define -;; a variable name can use any character except: ()[]{}",'`;#|\ +;; Μπορούμε να δημιουργήσουμε μεταβλητές +;; χρησιμοποιώντας το define. +;; Ένα όνομα μεταβλητής μπορεί να χρησιμοποιεί οποιονδήποτε +;; χαρακτήρα, εκτός από τους: ()[]{}",'`;#|\ (define some-var 5) some-var ; => 5 -;; You can also use unicode characters +;; Μπορούμε επίσης να χρησιμοποιήσουμε unicode χαρακτήρες. (define ⊆ subset?) ;; Εδώ ουστιαστικά δίνουμε στη ήδη ύπαρχουσα συνάρτηση subset? - ;; ένα νέο όνομα ⊆ , και παρακάτω την καλούμε με το νέο της όνομα. + ;; ένα νέο όνομα ⊆ , και παρακάτω την καλούμε με το νέο της όνομα. (⊆ (set 3 2) (set 1 2 3)) ; => #t ;; Αν ζητήσουμε μια μεταβλητή που δεν έχει οριστεί πρίν π.χ @@ -560,7 +562,7 @@ vec ; => #(1 2 3 4) ;; Οι ενότητες μας επιτρέπουν να οργανώνουμε τον κώδικα σε πολλαπλά ;; αρχεία και επαναχρησιμοποιούμενες βιβλιοθήκες ;; Εδώ χρησιμοποιούμε υπο-ενότητες, εμφωλευμένες μέσα σε μια -;; άλλη ενότητα που δημιουργεί αυτό το κείμενο(ξεκινώντας από +;; άλλη ενότητα που δημιουργεί αυτό το κείμενο (ξεκινώντας από ;; την γραμμή '#lang' ) (module cake racket/base ; ορίζουμε μια ενότητα 'cake' βασισμένο στο ; racket/base @@ -614,8 +616,7 @@ vec ; => #(1 2 3 4) (send charlie get-size) ; => 16 ;; Το `fish%' είναι μία τιμή "πρώτης κλάσης" -;; `fish%' is a plain "first class" value, με το οποίο μπορούμε να -;; κάνουμε προσμείξεις +;; με το οποίο μπορούμε να κάνουμε προσμείξεις (define (add-color c%) (class c% (init color) @@ -663,17 +664,17 @@ vec ; => #(1 2 3 4) ;; (set! tmp other) ;; (set! other tmp_1)) -;; But they are still code transformations, for example: +;; Αλλά ακόμα υπάρχουν ακόμη μετασχηματισμοί του κώδικα, π.χ: (define-syntax-rule (bad-while condition body ...) (when condition body ... (bad-while condition body ...))) -;; αυτή η μακροεντολή είναι χαλασένη: δημιουγεί ατέρμονα βρόχο -;; και αν προσπαθήσουμε να το χρησιμοποιήσουμε, ο μεταγλωττιστης +;; αυτή η μακροεντολή είναι χαλασμένη: δημιουγεί ατέρμονα βρόχο +;; και αν προσπαθήσουμε να το χρησιμοποιήσουμε, ο μεταγλωττιστής ;; θα μπεί στον ατέρμονα βρόχο. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; 10. Συμβόλαια +;; 10. Συμβόλαια (Contracts) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Τα συμβόλαια βάζουν περιορισμόυς σε τιμές που προέρχονται