Κοινή χρήση τεχνολογίας

Ξεκινώντας με το lua (2) - τύποι δεδομένων

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Πρόλογος

Αυτό το άρθρο αναφέρεται από:Τύποι δεδομένων Lua |.

Για όσους θέλουν να μάθουν περισσότερα, ελέγξτε τον παραπάνω σύνδεσμο:

οκτώ βασικοί τύποι

type - λειτουργία για προβολή του τύπου δεδομένων:

πρόγραμμα δοκιμής:

  1. print(type("Hello world")) --> string
  2. print(type(10.4*3)) --> number
  3. print(type(print)) --> function
  4. print(type(type)) --> function
  5. print(type(true)) --> boolean
  6. print(type(nil)) --> nil
  7. print(type(type(X))) --> string
  8. print(type(Y)) -->nil
  9. print(type('Y')) -->string

Επίδειξη εφέ

Μπορείτε να δείτε ότι ο τύπος(Y) που εξάγουμε εδώ είναι μηδενικός, γιατί; Το επόμενο μηδέν (κενό) θα εμφανιστεί για εσάς.

μηδέν (άδειο)

Ο τύπος μηδέν αντιπροσωπεύει έναν τύπο που δεν έχει καμία έγκυρη τιμή.

Μη αρχικοποιημένος τύπος μεταβλητής - μηδέν

Ως εξής: Οι τύποι εξόδου των τριών μεταβλητών στις οποίες δεν έχουν εκχωρηθεί αρχικές τιμές είναι όλοι μηδενικοί.

Το μηδέν διαγράφει ζεύγη κλειδιού-τιμής στον πίνακα

πρόγραμμα δοκιμής

  1. tab1 = { key1 = "val1", key2 = "val2",
  2. "val3","val4",key3 = "val5" }
  3. for k, v in pairs(tab1) do
  4. print(k .. " - " .. v)
  5. end
  6. print("=========直接输出=============")
  7. tab1.key1 = nil
  8. for k, v in pairs(tab1) do
  9. print(k .. " - " .. v)
  10. end
  11. print("============删除key1后==========")
  12. tab1.key3 = nil
  13. for k,v in pairs(tab1) do
  14. print(k.. " - "..v)
  15. end
  16. print("=========删除key3后============")

αποτέλεσμα λειτουργίας

Για καθολικές μεταβλητές και πίνακες, το μηδέν έχει επίσης ένα αποτέλεσμα "διαγραφής" Η εκχώρηση τιμής μηδέν σε καθολικές μεταβλητές ή μεταβλητές στον πίνακα ισοδυναμεί με τη διαγραφή τους.

το μηδέν πρέπει να συγκριθεί με διπλά εισαγωγικά "

type(X)==μηδενικό αποτέλεσμαψευδήςΟ λόγος είναι ότι το type(X) είναι ουσιαστικά η επιστρεφόμενη συμβολοσειρά "nil", η οποία είναι ένας τύπος συμβολοσειράς:

boolean

Ο τύπος boolean έχει μόνο δύο προαιρετικές τιμές: true (true) και false (false) το Lua αντιμετωπίζει το false και το nil ως false, και όλα τα άλλα είναι true.

πρόγραμμα δοκιμής

  1. print(type(true))
  2. print(type(false))
  3. print(type(nil))
  4. if false or nil then
  5. print("至少有一个是 true")
  6. else
  7. print("false 和 nil 都为 false")
  8. end
  9. if 0 then
  10. print("数字 0 是 true")
  11. else
  12. print("数字 0 为 false")
  13. end

Επίδειξη εφέ

αριθμός


Το Lua έχει μόνο έναν τύπο αριθμού από προεπιλογή - διπλό (διπλής ακρίβειας) τύπο (ο προεπιλεγμένος τύπος μπορεί να τροποποιηθεί στο luaconf.h), οι ακόλουθες μέθοδοι γραφής θεωρούνται num

χορδή (χορδή)

"" '' -- αντιπροσωπεύει μια συμβολοσειρά


[[ ]] -- αντιπροσωπεύει μια συμβολοσειρά
 

Οι αριθμοί μπορούν να αναγκαστούν σε χορδές

Όταν εκτελεί αριθμητικές πράξεις σε μια αριθμητική συμβολοσειρά, ο Lua θα προσπαθήσει να μετατρέψει την αριθμητική συμβολοσειρά σε έναν αριθμό:

Χρησιμοποιήστε .. για να συνδέσετε χορδές

 

τραπέζι

Στο Lua, η δημιουργία πίνακα ολοκληρώνεται μέσω "κατασκευαστικών εκφράσεων". Μπορείτε επίσης να προσθέσετε ορισμένα δεδομένα στον πίνακα και να αρχικοποιήσετε απευθείας τον πίνακα:

πίνακα προετοιμασίας

Τροποποίηση πίνακα βάσει ευρετηρίου (κλειδί)

Ένα τραπέζι στη Λούα είναι στην πραγματικότητα α"Συσχετικός πίνακας"(συσχετιστικοί πίνακες), ο δείκτης του πίνακα μπορεί να είναι ένας αριθμός ή μια συμβολοσειρά.

Οι δείκτες του Lua ξεκινούν από 1 (αντί για)

Ο πίνακας δεν θα έχει σταθερό μήκος Όταν προστεθούν νέα δεδομένα, το μήκος του πίνακα που δεν έχει αρχικοποιηθεί θα είναι μηδενικό.

λειτουργία

Στη Λούα, οι λειτουργίες θεωρούνται "Αξίες Πρώτης Κατηγορίας".

Οι συναρτήσεις μπορούν να αποθηκευτούν σε μεταβλητές:

Παράμετροι μετάδοσης έκφρασης λάμδα (ανώνυμη συνάρτηση).


Νήμα


Στη Λούα, το πιο σημαντικό νήμα είναι η κορουτίνα. Είναι παρόμοιο με ένα νήμα και έχει τη δική του ανεξάρτητη στοίβα, τοπικές μεταβλητές και δείκτη εντολών.
Οι καθολικές μεταβλητές και τα περισσότερα άλλα πράγματα μπορούν να κοινοποιηθούν με άλλες κορουτίνες.

Η διαφορά μεταξύ νημάτων και κορουτινών: Τα νήματα μπορούν να εκτελούνται πολλές φορές ταυτόχρονα, αλλά οι κορουτίνες μπορούν να εκτελούνται μόνο μία ανά πάσα στιγμή και μια κορουτίνα που εκτελείται θα τεθεί σε αναστολή μόνο όταν τεθεί σε αναστολή.

δεδομένα χρήστη (προσαρμοσμένος τύπος)


Τα δεδομένα χρήστη είναι ένας τύπος δεδομένων που ορίζονται από τον χρήστη που χρησιμοποιούνται για την αναπαράσταση ενός τύπου που δημιουργήθηκε από μια εφαρμογή ή βιβλιοθήκη γλωσσών C/C++.
Μπορείτε να αποθηκεύσετε οποιαδήποτε δεδομένα οποιουδήποτε τύπου δεδομένων C/C++ (συνήθως δομή και δείκτη) σε μια μεταβλητή Lua και να την καλέσετε