$
, ακολουθούμενο από το όνομα της μεταβλητής. Οι μεταβλητές χρησιμοποιούνται για την αποθήκευση πληροφοριών που θα χρειαστείτε αργότερα.1$ακέραιος = 10; // ακέραιος αριθμός
2$πραγματικός = 10.5; // αριθμός κινητής υποδιαστολής
3
1<?php
2$όνομα = "Μαρία";
3$ηλικία = 25;
4echo "Η " . $όνομα . " είναι " . $ηλικία . " χρονών.";
5?>
6
$
, το όνομα της μεταβλητής και την τιμή που θέλετε να αποθηκεύσετε.<a>
, η οποία μας επιτρέπει να καθορίσουμε τη διεύθυνση URL που θέλουμε να συνδεθούμε.<a>
<a>
είναι αυτή που χρησιμοποιούμε για να δημιουργήσουμε υπερσυνδέσμους. Περιλαμβάνει το atributo href
, το οποίο καθορίζει τη διεύθυνση URL στην οποία θέλουμε να συνδεθούμε. Επίσης, μπορούμε να προσθέσουμε άλλα atributos, όπως target
, για να ελέγξουμε το πώς θα ανοίξει ο σύνδεσμος (π.χ. σε νέα καρτέλα).1<a href="mailto:[email protected]">Στείλτε μας Email</a>
2
1<style>
2 a {
3 color: blue; /* Χρώμα κειμένου */
4 text-decoration: none; /* Αφαίρεση έντονων γραμμών */
5 }
6
7 a:hover {
8 color: red; /* Χρώμα κατά τη διάρκεια του hover */
9 text-decoration: underline; /* Προσθήκη γραμμής κατά τη διάρκεια του hover */
10 }
11</style>
12
<a>
και την καθορισμένη διεύθυνση URL μέσω του atributo href
.1v1 = [1, 2, 3];
2v2 = [4, 5, 6];
3v_sum = v1 + v2; % Πρόσθεση διανυσμάτων
4v_diff = v1 - v2; % Αφαίρεση διανυσμάτων
5
1A = [1, 2; 3, 4];
2B = [5; 6];
3result = A * B; % Πολλαπλασιασμός πίνακα με διάνυσμα
4
linsolve
ή τον τελεστή αντιστρόφου:linsolve
, eig
για υπολογισμό ιδιοτιμών και inv
για τον υπολογισμό της αντίστροφης μήτρας.1public class HomeController : Controller
2{
3 public IActionResult Index()
4 {
5 return View();
6 }
7}
8
HomeController
είναι υπεύθυνος για τη διαχείριση των αιτημάτων που αφορούν την αρχική σελίδα της εφαρμογής.1app.UseEndpoints(endpoints =>
2{
3 endpoints.MapControllerRoute(
4 name: "default",
5 pattern: "{controller=Home}/{action=Index}/{id?}");
6});
7
name
που περιέχει μια συμβολοσειρά και μια μεταβλητή age
που περιέχει έναν ακέραιο αριθμό.1greeting := "Γειά σου, "
2name := "Κώστας"
3message := greeting + name // Συνένωση συμβολοσειρών
4fmt.Println(message) // Εκτυπώνει "Γειά σου, Κώστας"
5
1var num1 int = 5
2var num2 float64 = 3.14
3sum := num1 + int(num2) // Κάνουμε μετατροπή τύπου
4fmt.Println(sum) // Εκτυπώνει 8
5
1package main
2
3import "fmt"
4
5func main() {
6 var name string = "Δημήτρης"
7 var age int = 28
8 fmt.Printf("Ο %s είναι %d χρονών.\n", name, age)
9}
10
var
ή :=
για να δηλώσετε και να αρχικοποιήσετε.1function createCounter() {
2 let count = 0; // Ο "ιδιωτικός" μετρητής
3 return function() {
4 count += 1; // Αυξάνει τον μετρητή
5 return count;
6 };
7}
8
9const counter = createCounter();
10console.log(counter()); // 1
11console.log(counter()); // 2
12console.log(counter()); // 3
13
createCounter
επιστρέφει μια άλλη συνάρτηση που έχει πρόσβαση στη μεταβλητή count
.setTimeout
.1for (let i = 0; i < 3; i++) {
2 setTimeout(function() {
3 console.log(i); // Εκτυπώνει 0, 1, 2
4 }, 1000);
5}
6
1function greet(name) {
2 return function() {
3 console.log(`Γειά σου, ${name}!`);
4 };
5}
6
7const greetJohn = greet("Ιωάννης");
8greetJohn(); // Γειά σου, Ιωάννης!
9
async/await
.1simple_string = "Γεια σου, κόσμε!"
2complex_string = 'Αυτό είναι μια "πολυδιάστατη" συμβολοσειρά.'
3
1import re
2
3text = "Ο αριθμός είναι 12345."
4match = re.search(r'\d+', text)
5print(match.group()) # εκτυπώνει 12345
6
if
.1age = 20
2
3if age < 18:
4 print("Είσαι ανήλικος.")
5elif age >= 18 and age < 65:
6 print("Είσαι ενήλικος.")
7else:
8 print("Είσαι συνταξιούχος.")
9
==
, !=
, <
, >
και λογικούς τελεστές όπως and
και or
.1fruits = ["μήλο", "πορτοκάλι", "μπανάνα"]
2
3if "μήλο" in fruits:
4 print("Το μήλο είναι στη λίστα.")
5
1user_input = input("Ποιο είναι το όνομά σου; ")
2
3if user_input:
4 print(f"Γεια σου, {user_input}!")
5else:
6 print("Δεν παρείχες όνομα.")
7
times
εκτυπώνει μια γραμμή 10 φορές.1def greet(&block)
2 puts "Γειά σου!"
3 block.call if block_given?
4end
5
6greet { puts "Καλημέρα!" }
7
greet
δέχεται ένα μπλοκ και το εκτελεί εάν υπάρχει.name
μπορεί να έχει μια τιμή τύπου String
ή να είναι nil
.nil
.1if name != nil {
2 print("Το όνομα είναι $name!)")
3} else {
4 print("Δεν υπάρχει όνομα.")
5}
6
if let
if let
, που σας επιτρέπει να κάνετε υποχρεωτική "unwrap" της προαιρετικής μεταβλητής.if let
1if let actualName = name {
2 print("Το όνομα είναι $actualName)")
3} else {
4 print("Δεν υπάρχει όνομα.")
5}
6
guard let
guard let
είναι μια άλλη μέθοδος που σας επιτρέπει να ελέγξετε την τιμή ενός προαιρετικού.guard let
1func printName() {
2 guard let actualName = name else {
3 print("Δεν υπάρχει όνομα.")
4 return
5 }
6 print("Το όνομα είναι $actualName)")
7}
8
force unwrap
!
) μπορεί να προκαλέσει εξαίρεση αν η τιμή είναι nil. Προτιμήστε να χρησιμοποιείτε if let
ή guard let
.Any
(η ρίζα όλων των τύπων στην Kotlin) και θέλετε να την μετατρέψετε σε πιο συγκεκριμένο τύπο, θα χρειαστεί να κάνετε μια μετατροπή.anyValue
μετατρέπεται σε τύπο String
.as?
. Αν η μετατροπή αποτύχει, η μεταβλητή θα πάρει την τιμή null
αντί να ρίξει εξαίρεση.as?
stringValue
θα είναι null
, καθώς η μετατροπή δεν είναι δυνατή.as
και as?
, μπορείτε να βελτιώσετε την ασφάλεια του κώδικα σας και να διευκολύνετε την αναγνωσιμότητά του. Θυμηθείτε, η προσεκτική προσέγγιση στις μετατροπές τύπου είναι το κλειδί για την ανάπτυξη ποιοτικού λογισμικού.as
και as
;as
προκαλεί σφάλμα αν η μετατροπή αποτύχει, ενώ το as?
επιστρέφει null
.as
, ενώ με as?
θα επιστρέψει null
.as?
ή κάνοντας έλεγχο του τύπου πριν τη μετατροπή.