mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 15:24:09 +03:00
update
This commit is contained in:
parent
f27ed65af6
commit
cb065fdf37
@ -208,7 +208,7 @@ my-pet ; => #<dog>
|
||||
(set-member? (set 1 2 3) 1) ; => #t
|
||||
(set-member? (set 1 2 3) 4) ; => #f
|
||||
|
||||
;;; Πίνακες κατακερματισμού
|
||||
;;; Πίνακες κατακερματισμού (Hashes)
|
||||
|
||||
;; Δημιουργήστε ένα αμετάβλητο πίνακα κατακερματισμού
|
||||
(define m (hash 'a 1 'b 2 'c 3))
|
||||
@ -355,7 +355,6 @@ m ; => '#hash((b . 2) (a . 1) (c . 3)) <-- δεν υπάρχει `d'
|
||||
(eqv? (string-append "foo" "bar") (string-append "foo" "bar")) ; => #f
|
||||
|
||||
;; Το `equal?' υποστηρίζει την σύγκριση των παρακάτω τύπων μεταβλητών:
|
||||
;; `equal?' supports the comparison of the following datatypes:
|
||||
;; αλφαριθμητικά, αλφαριθμητικά από bytes, μεταβλητά ζεύγη , διανύσματα,
|
||||
;; πίνακες κατακερματισμού και δομές.
|
||||
;; Για άλλα ήδη τύπων μεταβλητών το `equal?' και το `eqv?' επιστρέφουν το
|
||||
@ -426,13 +425,10 @@ m ; => '#hash((b . 2) (a . 1) (c . 3)) <-- δεν υπάρχει `d'
|
||||
|
||||
;;;
|
||||
;;; Επανάληψη μέσα σε ακολουθίες:
|
||||
;; Το `for' επιτρέπει την επενάληψη μέσα σε πολλά
|
||||
;; Το `for' επιτρέπει την επανάληψη μέσα σε πολλά
|
||||
;; άλλα ήδη από ακολουθίες: Λίστες, διανύσματα,
|
||||
;; αλφαριθμητικά, σύνολα κτλ..
|
||||
|
||||
;;allows iteration over many other kinds of sequences:
|
||||
;; lists, vectors, strings, sets, hash tables, etc...
|
||||
|
||||
(for ([i (in-list '(l i s t))])
|
||||
(displayln i))
|
||||
|
||||
@ -488,13 +484,16 @@ m ; => '#hash((b . 2) (a . 1) (c . 3)) <-- δεν υπάρχει `d'
|
||||
|
||||
;; Υπάρχουν πολλά είδη απο προϋπάρχοντες τρόπους για να συλλέγουμε
|
||||
;; τιμές από τους βρόχους
|
||||
|
||||
(for/sum ([i 10]) (* i i)) ; => 285
|
||||
(for/product ([i (in-range 1 11)]) (* i i)) ; => 13168189440000
|
||||
(for/and ([i 10] [j (in-range 10 20)]) (< i j)) ; => #t
|
||||
(for/or ([i 10] [j (in-range 0 20 2)]) (= i j)) ; => #t
|
||||
;; Και για να χρησιμοποιήσουμε ένα αφθαίρετο συνδιασμό χρησιμοποιύμε
|
||||
|
||||
;; Και για να χρησιμοποιήσουμε ένα αφθαίρετο συνδιασμό χρησιμοποιούμε
|
||||
;; το 'for/fold'
|
||||
(for/fold ([sum 0]) ([i '(1 2 3 4)]) (+ sum i)) ; => 10
|
||||
|
||||
;; Αυτό συχνά μπορεί να αντικαταστήσει τους κοινούς
|
||||
;; προστακτικούς βρόχους (imperative loops)
|
||||
|
||||
|
@ -43,11 +43,11 @@ Scala - Η επεκτάσιμη γλώσσα
|
||||
να δείτε , φαίνοται κάπως έτσι.
|
||||
*/
|
||||
|
||||
// Εκτύπωση με εξαναγκασμό νέας γραμμής στην επόμενη εκτύπωση
|
||||
// Εκτύπωση με νέα γραμμή στην επόμενη εκτύπωση
|
||||
println("Hello world!")
|
||||
println(10)
|
||||
|
||||
// Εκτύπωση χωρίς τον εξαναγκασμό νέας γραμμής στην επόμενη εκτύπωση
|
||||
// Εκτύπωση χωρίς νέα γραμμή στην επόμενη εκτύπωση
|
||||
print("Hello world")
|
||||
|
||||
// Η δήλωση μεταβλητών γίνεται χρησιμοποιώντας var ή val.
|
||||
@ -62,7 +62,7 @@ y = 20 // το y είναι τώρα 20
|
||||
Η Scala είναι στατικού τύπου γλώσσα, εν τούτις προσέξτε ότι στις παραπάνω
|
||||
δηλώσεις , δεν προσδιορίσαμε κάποιον τύπο. Αυτό συμβαίνει λόγω ενός
|
||||
χαρακτηριστικού της Scala που λέγεται συμπερασματολογία τύπων. Στις
|
||||
περισσότερες των περιπτώσεων , ο μεταγλωττιστής της Scala μπορεί να
|
||||
περισσότερες των περιπτώσεων, ο μεταγλωττιστής της Scala μπορεί να
|
||||
μαντέψει ποιός είναι ο τύπος μιας μεταβλητής. Μπορούμε να δηλώσουμε
|
||||
αναλυτικά τον τύπο μιάς μεταβλητής ως εξής:
|
||||
*/
|
||||
@ -95,7 +95,7 @@ true == false // false
|
||||
|
||||
|
||||
/*
|
||||
Αξιολογώντας μια έκφραση στο REPL , σας δίνεται ο τύπος και
|
||||
Αξιολογώντας μια έκφραση στο REPL, σας δίνεται ο τύπος και
|
||||
η τιμή του αποτελέσματος
|
||||
*/
|
||||
|
||||
@ -133,8 +133,7 @@ true == false // false
|
||||
val n = 45
|
||||
s"We have $n apples" // => "We have 45 apples"
|
||||
|
||||
// Expressions inside interpolated strings are also possible
|
||||
// Εκφράσεις μέσα σε παρεμβεβλημένα αλφαριθμητικά είναι επίσης εφικτά
|
||||
// Παρατηρήστε την χρήση των '{', '}'
|
||||
val a = Array(11, 9, 6)
|
||||
s"My second daughter is ${a(0) - a(2)} years old." // => "My second daughter is 5 years old."
|
||||
s"We have double the amount of ${n / 2.0} in apples." // => "We have double the amount of 22.5 in apples."
|
||||
@ -270,7 +269,7 @@ do {
|
||||
|
||||
// Η αναδρομή ουράς είναι ένας ιδιωματικός τρόπος να κάνεις επαναλαμβανόμενα
|
||||
// πράγματα στην Scala. Οι αναδρομικές συναρτήσεις απαιτούν να γράφτεί
|
||||
// ρητά τον τύπο που θα επιστρέψουν , αλλιώς ο μεταγλωττιστής δεν μπορεί
|
||||
// ρητά ο τύπος που θα επιστρέψουν , αλλιώς ο μεταγλωττιστής δεν μπορεί
|
||||
// αλλιώς να τον συνάγει. Παρακάτω είναι μια συνάρτηση που επιστρέφει Unit.
|
||||
def showNumbersInRange(a:Int, b:Int):Unit = {
|
||||
print(a)
|
||||
@ -280,7 +279,7 @@ def showNumbersInRange(a:Int, b:Int):Unit = {
|
||||
showNumbersInRange(1,14)
|
||||
|
||||
|
||||
// Η ροή του ελέγχου.
|
||||
// Έλεγχος Ροής
|
||||
|
||||
val x = 10
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user