Λήψη PDF
1) Εξηγήστε τι είναι το Scala;
Το Scala είναι μια αντικειμενική λειτουργική γλώσσα προγραμματισμού και δέσμης ενεργειών για γενικές εφαρμογές λογισμικού σχεδιασμένες να εκφράζουν λύσεις με συνοπτικό τρόπο.
2) Τι είναι το σετ Scala; Ποιες είναι οι μέθοδοι μέσω των οποίων εκφράζονται τα σύνολα λειτουργίας;
Το σετ Scala είναι μια συλλογή ζευγαριών στοιχείων του ίδιου τύπου. Το σετ Scala δεν περιέχει διπλά στοιχεία. Υπάρχουν δύο είδη σετ, μεταβλητά και αμετάβλητα.
3) Τι είναι ο «χάρτης Scala»;
Ο χάρτης Scala είναι μια συλλογή ζευγών κλειδιών ή τιμών. Με βάση το κλειδί του, μπορεί να ανακτηθεί οποιαδήποτε τιμή. Οι τιμές δεν είναι μοναδικές, αλλά τα κλειδιά είναι μοναδικά στο χάρτη.
4) Ποιο είναι το πλεονέκτημα της Scala;
- Λειτουργικό στυλ λιγότερο επιρρεπές σε σφάλματα
- Υψηλή συντήρηση και παραγωγικότητα
- Υψηλή επεκτασιμότητα
- Υψηλή ικανότητα δοκιμής
- Παρέχει χαρακτηριστικά ταυτόχρονου προγραμματισμού
5) Με ποιους τρόπους το Scala είναι καλύτερο από άλλες γλώσσες προγραμματισμού;
- Οι πίνακες χρησιμοποιούν συνηθισμένα γενικά, ενώ σε άλλη γλώσσα, τα γενικά γεννιούνται ως μεταγενέστερη σκέψη και είναι εντελώς ξεχωριστά αλλά έχουν αλληλεπικαλυπτόμενες συμπεριφορές με πίνακες.
- Το Scala έχει αμετάβλητο "val" ως χαρακτηριστικό γνώσης γλώσσας πρώτης κατηγορίας. Το "val" του scala είναι παρόμοιο με τις τελικές μεταβλητές Java. Τα περιεχόμενα μπορεί να μεταλλαχθούν, αλλά η κορυφαία αναφορά είναι αμετάβλητη.
- Το Scala επιτρέπει «εάν μπλοκ», «βρόχους για απόδοση» και «κωδικό» σε τιράντες για να επιστρέψει μια τιμή. Είναι προτιμότερο και εξαλείφει την ανάγκη για ξεχωριστό τριμερή χειριστή.
- Το Singleton έχει αντικείμενα singleton αντί για C ++ / Java / C # κλασικό στατικό. Είναι μια καθαρότερη λύση
- Οι μόνιμες αμετάβλητες συλλογές είναι οι προεπιλεγμένες και ενσωματωμένες στην τυπική βιβλιοθήκη.
- Έχει εγγενείς πλειάδες και συνοπτικό κωδικό
- Δεν έχει κωδικό πινακίδας λέβητα
6) Ποιες είναι οι μεταβλητές Scala;
Οι τιμές και οι μεταβλητές είναι δύο σχήματα που έρχονται στη Scala. Μια μεταβλητή τιμής είναι σταθερή και δεν μπορεί να αλλάξει μόλις εκχωρηθεί. Είναι αμετάβλητο, ενώ μια κανονική μεταβλητή, από την άλλη πλευρά, είναι μεταβλητή και μπορείτε να αλλάξετε την τιμή.
Οι δύο τύποι μεταβλητών είναι
var myVar: Int = 0;
val myVal: Int = 1;
7) Αναφέρετε τη διαφορά μεταξύ ενός αντικειμένου και μιας κλάσης;
Μια τάξη είναι ένας ορισμός για μια περιγραφή. Ορίζει έναν τύπο ως προς τις μεθόδους και τη σύνθεση άλλων τύπων. Η τάξη είναι ένα σχεδιάγραμμα του αντικειμένου. Ενώ, ένα αντικείμενο είναι ένα απλό, μια παρουσία μιας κλάσης που είναι μοναδική. Δημιουργείται μια ανώνυμη κλάση για κάθε αντικείμενο στον κώδικα, κληρονομεί από ό, τι κλάσεις δηλώσατε ως αντικείμενο για εφαρμογή.
8) Τι είναι η ουρά αναδρομής στη σκάλα;
Το «Recursion» είναι μια λειτουργία που αποκαλείται. Μια συνάρτηση που καλείται, για παράδειγμα, μια συνάρτηση «A» καλεί τη συνάρτηση «B», η οποία καλεί τη συνάρτηση «C». Είναι μια τεχνική που χρησιμοποιείται συχνά στον λειτουργικό προγραμματισμό. Για μια αναδρομική ουρά, η επιστροφή στη λειτουργία πρέπει να είναι η τελευταία συνάρτηση που πρέπει να εκτελεστεί.
9) Τι είναι το «scala trait» στη scala;
Τα «χαρακτηριστικά» χρησιμοποιούνται για τον καθορισμό τύπων αντικειμένων που καθορίζονται από την υπογραφή των υποστηριζόμενων μεθόδων. Το Scala επιτρέπει την μερική εφαρμογή αλλά τα χαρακτηριστικά ενδέχεται να μην έχουν παραμέτρους κατασκευαστή. Ένα χαρακτηριστικό αποτελείται από τη μέθοδο και τον ορισμό πεδίου, αναμειγνύοντάς τα σε κατηγορίες που μπορούν να επαναχρησιμοποιηθούν.
10) Πότε μπορείτε να χρησιμοποιήσετε χαρακτηριστικά;
Δεν υπάρχει συγκεκριμένος κανόνας όταν μπορείτε να χρησιμοποιήσετε χαρακτηριστικά, αλλά υπάρχει μια οδηγία που μπορείτε να λάβετε υπόψη.
- Εάν η συμπεριφορά δεν θα επαναχρησιμοποιηθεί, τότε κάντε την συγκεκριμένη κατηγορία. Εν πάση περιπτώσει δεν είναι μια επαναχρησιμοποιήσιμη συμπεριφορά.
- Για να κληρονομήσετε από αυτόν σε κώδικα Java, μπορεί να χρησιμοποιηθεί μια αφηρημένη κλάση.
- Εάν η αποδοτικότητα είναι προτεραιότητα, τότε στηρίξτε τη χρήση τάξης
- Κάντε το ως χαρακτηριστικό εάν μπορεί να επαναχρησιμοποιηθεί σε πολλές και άσχετες τάξεις. Σε διαφορετικά μέρη της ιεραρχίας τάξης μόνο τα χαρακτηριστικά μπορούν να αναμιχθούν σε διαφορετικά μέρη.
- Μπορείτε να χρησιμοποιήσετε αφηρημένη τάξη, εάν θέλετε να τη διανείμετε σε μεταγλωττισμένη μορφή και περιμένετε από εξωτερικές ομάδες να γράψουν μαθήματα που κληρονομούν από αυτήν.
11) Τι είναι οι κατηγορίες περιπτώσεων;
Οι κλάσεις περιπτώσεων παρέχουν έναν αναδρομικό μηχανισμό αποσύνθεσης μέσω αντιστοίχισης προτύπων, είναι μια κανονική τάξη που εξάγει την παράμετρο του κατασκευαστή τους. Οι παράμετροι κατασκευαστή των κατηγοριών περιπτώσεων μπορούν να έχουν άμεση πρόσβαση και αντιμετωπίζονται ως δημόσιες τιμές.
12) Ποια είναι η χρήση των πλειάδων στο scala;
Το Scala tuples συνδυάζει έναν καθορισμένο αριθμό στοιχείων μαζί, ώστε να μπορούν να μεταδοθούν στο σύνολό τους. Μια πλειάδα είναι αμετάβλητη και μπορεί να κρατήσει αντικείμενα με διαφορετικούς τύπους, σε αντίθεση με έναν πίνακα ή λίστα.
13) Τι είναι η λειτουργία currying στο Scala;
Το Currying είναι η τεχνική του μετασχηματισμού μιας συνάρτησης που παίρνει πολλαπλά ορίσματα σε μια συνάρτηση που παίρνει ένα μόνο όρισμα Πολλές από τις ίδιες τεχνικές με τη γλώσσα όπως το Haskell και το LISP υποστηρίζονται από το Scala. Η λειτουργία currying είναι μία από τις λιγότερο χρησιμοποιούμενες και παρεξηγημένες.
14) Ποιες είναι οι έμμεσες παράμετροι στη Scala;
Η έμμεση παράμετρος είναι ο τρόπος που επιτρέπει την «εύρεση» παραμέτρων μιας μεθόδου. Είναι παρόμοιο με τις προεπιλεγμένες παραμέτρους, αλλά έχει διαφορετικό μηχανισμό για την εύρεση της «προεπιλεγμένης» τιμής. Η σιωπηρή παράμετρος είναι μια παράμετρος της μεθόδου ή του κατασκευαστή που επισημαίνεται ως σιωπηρή. Αυτό σημαίνει ότι εάν δεν αναφέρεται μια τιμή παραμέτρου, τότε ο μεταγλωττιστής θα αναζητήσει μια "σιωπηρή" τιμή που ορίζεται εντός ενός πεδίου.
15) Τι είναι το κλείσιμο στη Σκάλα;
Ένα κλείσιμο είναι μια συνάρτηση της οποίας η τιμή επιστροφής εξαρτάται από την τιμή των μεταβλητών που δηλώνονται εκτός της συνάρτησης.
16) Τι είναι το Monad στη Σκάλα;
Το monad είναι ένα αντικείμενο που τυλίγει ένα άλλο αντικείμενο. Περνάτε τα μίνι προγράμματα Monad, δηλαδή συναρτήσεις, για να εκτελέσετε τον χειρισμό δεδομένων του υποκείμενου αντικειμένου, αντί να χειριστείτε το αντικείμενο απευθείας. Η Monad επιλέγει τον τρόπο εφαρμογής του προγράμματος στο υποκείμενο αντικείμενο.
17) Τι είναι η ανώνυμη λειτουργία Scala;
Σε έναν πηγαίο κώδικα, οι ανώνυμες συναρτήσεις ονομάζονται «λειτουργικές κυριολεκτικές» και κατά το χρόνο εκτέλεσης, οι κυριολεκτικές συνάρτηση τεκμηριώνονται σε αντικείμενα που ονομάζονται τιμές συνάρτησης Το Scala παρέχει μια σχετικά εύκολη σύνταξη για τον καθορισμό ανώνυμων συναρτήσεων.
18) Εξηγήστε τις συναρτήσεις «Scala υψηλότερης τάξης»;
Το Scala επιτρέπει τον ορισμό των συναρτήσεων υψηλότερης τάξης. Αυτές είναι συναρτήσεις που λαμβάνουν άλλες λειτουργίες ως παραμέτρους ή των οποίων το αποτέλεσμα είναι συνάρτηση. Στο ακόλουθο παράδειγμα, η συνάρτηση apply () παίρνει μια άλλη συνάρτηση 'f' και μια τιμή 'v' και εφαρμόζει τη συνάρτηση στην v.
Παράδειγμα:
object Test {def main(args: Array[String]) {println( apply( layout, 10) )}def apply(f: Int => String, v: Int) = f(v)def layout[A](x: A) = "[" + x.toString() + "]"Όταν ο παραπάνω κώδικας καταρτίζεται και εκτελείται, παράγει το ακόλουθο αποτέλεσμα.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>
19) Ποια είναι η διαφορά μεταξύ var και τιμής;
Στο scala, μπορείτε να ορίσετε μια μεταβλητή χρησιμοποιώντας είτε λέξεις-κλειδιά a, val ή var. Η διαφορά μεταξύ val και var είναι, το var μοιάζει πολύ με τη δήλωση java, αλλά το val είναι λίγο διαφορετικό. Δεν μπορούμε να αλλάξουμε την αναφορά σε άλλη αναφορά, αφού η μεταβλητή δηλωθεί χρησιμοποιώντας val. Η μεταβλητή που καθορίζεται χρησιμοποιώντας λέξεις-κλειδιά var είναι μεταβλητή και μπορεί να αλλάξει πολλές φορές.
20) Ποια είναι η επιλογή, μερικά και καθόλου στο scala;
Το "Option" είναι ένας γενικός τύπος Scala που μπορεί είτε να είναι "κάποια" γενική τιμή είτε κανένας. Το "Queue" το χρησιμοποιεί συχνά για να αντιπροσωπεύει πρωτόγονους που μπορεί να είναι μηδενικοί.
21) Πώς προσαρτώ στη λίστα;
Στο scala για προσθήκη σε μια λίστα, χρησιμοποιήστε "
:+” single value
var myList = List.empty[String]myList :+= "a"myList :+= "b"myList :+= "c"use++ for appending a listvar myList = List.empty[String]myList ++= List("a", "b", "c")
22) Πώς μπορείτε να μορφοποιήσετε μια συμβολοσειρά;
Για να μορφοποιήσετε μια συμβολοσειρά, χρησιμοποιήστε τη μέθοδο .format (), σε scala που μπορείτε να χρησιμοποιήσετε
Val μορφοποιημένο = "% s% i" .format (mystring.myInt)
23) Γιατί η scala προτιμά το αμετάβλητο;
Η Scala προτιμά το αμετάβλητο στο σχεδιασμό και σε πολλές περιπτώσεις το χρησιμοποιεί ως προεπιλογή. Το αμετάβλητο μπορεί να βοηθήσει στην αντιμετώπιση θεμάτων ισότητας ή ταυτόχρονων προγραμμάτων.
24) Ποιοι είναι οι τέσσερις τύποι αναγνωριστικών scala;
Οι τέσσερις τύποι αναγνωριστικών είναι
- Αλφα αριθμητικά αναγνωριστικά
- Αναγνωριστικά χειριστή
- Μικτά αναγνωριστικά
- Κυριολεκτικά αναγνωριστικά
25) Ποιοι είναι οι διαφορετικοί τύποι Scala;
Οι διαφορετικοί τύποι γραμματίων σε scala είναι
- Ακέραιοι αριθμοί
- Κυριολεκτικά κυμαινόμενα σημεία
- Boolean κυριολεκτικά
- Κυριολεκτικά σύμβολα
- Κυριολεκτικά χαρακτήρες
- Γραμματοσειρές συμβολοσειράς
- Πολλαπλές σειρές