Документация

    Table of Content
    • Форматы 3D-файлов
      • Форматы 3D-файлов
      • 3D2
      • 3DM
      • 3DS
      • 3MF
      • AMF
      • ASE
      • B3D
      • DAE
      • DBM
      • DRC
      • E57
      • FBX
      • GLB
      • GLTF
      • IPT
      • JT
      • MA
      • MB
      • MP
      • OBJ
      • PLY
      • POV
      • PRC
      • RVM
      • STEP
      • STP
      • U3D
      • USD
      • USDZ
      • VRML
      • X
      • X3D
    • Форматы аудиофайлов
      • Форматы аудиофайлов
      • 8SVX
      • AA
      • AAC
      • AAX
      • AC3
      • ACT
      • AIFF
      • ALAC
      • AMR
      • APE
      • CDA
      • DSS
      • FLAC
      • GSM
      • M3U
      • M3U8
      • M4A
      • M4B
      • M4P
      • MID
      • MKA
      • MMF
      • MOD
      • MP2
      • MP3
      • MPC
      • MXL
      • NSA
      • OGG
      • OPUS
      • RA
      • RF64
      • SDT
      • STAP
      • VOC
      • VOX
      • VQF
      • WAV
      • WEBA
      • WFP
      • WMA
      • WPL
      • WV
    • Форматы файлов САПР
      • Форматы файлов САПР
      • ART
      • ASC
      • ASM
      • CATPART
      • CF2
      • DC3
      • DGN
      • DST
      • DWF
      • DWFX
      • DWG
      • DWT
      • DXF
      • FZP
      • HPGL
      • IFC
      • IGES
      • IGS
      • JVSG
      • NC
      • NWC
      • NWD
      • NWF
      • PAT
      • PHJ
      • PLT
      • PSM
      • PSS
      • RFA
      • RFT
      • RML
      • RVT
      • SLDPRT
      • STL
    • Форматы файлов сжатия
      • Форматы файлов сжатия
      • 7Z
      • ACE
      • ALZ
      • APK
      • APZ
      • ARC
      • ARJ
      • B1
      • B6Z
      • BKF
      • BNDL
      • BZ2
      • CIT
      • DAA
      • DAR
      • DEB
      • DMG
      • DZ
      • ECS
      • FZPZ
      • GZ
      • GZIP
      • ICE
      • ISO
      • KGB
      • LBR
      • LQR
      • LZ
      • LZ4
      • LZH
      • LZMA
      • LZO
      • LZX
      • MBW
      • MINT
      • MPKG
      • MPQ
      • NPK
      • OAR
      • P7Z
      • PAGES
      • PEA
      • PET
      • PF
      • PKG
      • PTK
      • PUP
      • RAR
      • RPM
      • RTE
      • S00
      • SFG
      • SIFZ
      • SIT
      • SITX
      • SY_
      • TAR
      • TBZ
      • TGS
      • TGZ
      • TPSR
      • TZ
      • VPK
      • WHL
      • WUX
      • XAPK
      • XAR
      • XPI
      • XZ
      • Z
      • ZIM
      • ZIP
      • ZIPX
      • ZL
      • ZST
    • База данных
      • Форматы файлов базы данных
      • 4DB
      • 4DD
      • ABCDDB
      • ACCDB
      • ACCDC
      • ACCDE
      • ACCDR
      • ACCDT
      • ACCDW
      • ACCFT
      • ADB
      • ADE
      • ADF
      • ADN
      • ADP
      • ALF
      • ANB
      • AQ
      • ASK
      • BAK
      • BCP
      • BTR
      • CAT
      • CDB
      • DACPAC
      • DAT
      • DB
      • DB-WAL
      • DB3
      • DBC
      • DBF
      • DBS
      • DDL
      • DLIS
      • DSN
      • DTSX
      • EPIM
      • FDB
      • FIC
      • FMP12
      • FMPSL
      • FP5
      • FP7
      • GDB
      • ITW
      • LDF
      • LOG
      • MDB
      • MDF
      • MYI
      • NDF
      • NSF
      • SAV
      • SDF
      • SQL
      • SQLITE
      • TE
      • TRC
      • TRM
      • UDL
      • WDB
    • Диск и носитель
      • Форматы дисков и медиафайлов
      • BIN
      • CCD
      • CSO
      • CUE
      • GADGET
      • IMG
      • MDF
      • MDS
      • NKIT
      • NRG
      • NRI
      • OVA
      • OVF
      • ROM
      • SDI
      • Toast
      • UDF
      • VCD
      • VDI
      • VHD
      • VHDX
      • WBFS
      • WIM
      • WUD
    • Форматы файлов электронных книг
      • Форматы файлов электронных книг
      • ACSM
      • AEP
      • APNX
      • AVA
      • AZW
      • AZW1
      • AZW3
      • AZW4
      • BKK
      • BPNUEB
      • CBC
      • CBR
      • CBZ
      • CEB
      • CEBX
      • DNL
      • EA
      • EAL
      • EBK
      • EDN
      • EPUB
      • ETD
      • FB2
      • FKB
      • HAN
      • HTML0
      • HTMLZ
      • HTXT
      • HTZ4
      • HTZ5
      • IBOOKS
      • KFX
      • KOOB
      • LIT
      • LRF
      • LRS
      • LRX
      • MART
      • MBP
      • MOBI
      • NCX
      • NVA
      • OEB
      • OEBZIP
      • OPF
      • ORB
      • PHL
      • PML
      • PMLZ
      • POBI
      • QMK
      • RB
      • RZB
      • RZS
      • SNB
      • TCR
      • TK3
      • TPZ
      • TR
      • TR3
      • VBK
      • WEBZ
      • YBK
    • Форматы файлов электронной почты
      • Форматы файлов электронной почты
      • EDB
      • EML
      • EMLX
      • ICS
      • MBOX
      • MSG
      • OFT
      • OLM
      • OST
      • P7S
      • PST
      • RPMSG
      • TNEF
      • VCF
    • Исполняемый
      • Форматы исполняемых файлов
      • AC
      • AHK
      • BAT
      • BTAPP
      • CGI
      • CMD
      • COM
      • EXE
      • IPA
      • MSI
      • MST
      • PIF
      • PYC
      • REG
      • WSF
      • WSH
      • XBE
      • XEX
    • Финансы
      • Форматы финансовых файлов
      • ABA
      • IXBRL
      • XBRL
    • Шрифт
      • Форматы файлов шрифтов
      • BDF
      • CFF
      • CFF2
      • EOT
      • ETX
      • FNT
      • FON
      • FOT
      • GXF
      • JFPROJ
      • MFX
      • ODTTF
      • OTF
      • PFA
      • PFB
      • PFM
      • SFD
      • TTC
      • TTF
      • Type1
      • VFB
      • VLW
      • WOFF
      • WOFF2
    • Форматы игровых файлов
      • Форматы игровых файлов
      • BMZ
      • BNS
      • BO2
      • CLIP
      • CON
      • CSD
      • CT
      • DEK
      • FOMOD
      • GAM
      • GBX
      • GCF
      • KODU
      • MCA
      • MCR
      • MCWORLD
      • MGX
      • MII
      • NPA
      • OSB
      • OSK
      • OSR
      • OSU
      • OSZ
      • PAK
      • PCC
      • PWF
      • REL
      • REP
      • RPX
      • SFAR
      • SID
      • SIMS3PACK
      • U8
      • UMX
      • USX
      • VPK
      • W3N
      • XS
    • Форматы файлов ГИС
      • Форматы файлов ГИС
      • 000
      • 3D
      • 3DD
      • 3DL
      • APL
      • APR
      • ATX
      • AUX
      • AVL
      • CXF
      • DEM
      • DIV
      • DLG
      • DT0
      • DT1
      • DT2
      • E00
      • EMBR
      • ETA
      • FIT
      • FMW
      • GeoJSON
      • GMAP
      • GML
      • GPKG
      • GPX
      • GSM
      • KML
      • KMZ
      • LOC
      • MID
      • MIF
      • MPK
      • MPS
      • MXD
      • MXT
      • NM2
      • NTF
      • OSC
      • OSM
      • PMF
      • PTM
      • QGD
      • QGS
      • QGZ
      • QLR
      • QML
      • SAF
      • SBN
      • SDF
      • SHP
      • SHX
      • SP3
      • SSF
      • TCX
      • TFRD
      • WLX
      • WOR
    • Форматы файлов изображений
      • Форматы файлов изображений
      • AFPHOTO
      • AFX
      • AGIF
      • AGP
      • AI
      • APNG
      • AVIF
      • BIF
      • BMP
      • BPG
      • CDR
      • CLIP
      • CMX
      • CPC
      • CR2
      • CR3
      • CSL
      • CT
      • CUR
      • DCM
      • DCR
      • DCX
      • DDS
      • DIB
      • DICOM
      • DJVU
      • DNG
      • ECW
      • EMF
      • EMZ
      • EXIF
      • FLIF
      • FODG
      • GBR
      • GIF
      • HDR
      • HEIC
      • HEIF
      • ICNS
      • ICO
      • J2C
      • J2K
      • JFIF
      • JP2
      • JPC
      • JPEG
      • JPF
      • JPM
      • JPX
      • JXL
      • JXR
      • MNG
      • MP
      • MPO
      • NEF
      • ODG
      • OTG
      • PCT
      • PCX
      • PICT
      • PNG
      • PPP
      • PSB
      • PSD
      • PSP
      • PSPIMAGE
      • SKP
      • SVGZ
      • TGA
      • THM
      • TIFF
      • WEBP
      • WMF
      • WMZ
      • XPM
      • XPR
    • Разные форматы файлов
      • Разные форматы файлов
      • AML
      • BUP
      • CMS
      • CTG
      • DAP
      • ENL
      • ERR
      • GPG
      • H4
      • H5
      • ICA
      • KLQ
      • LOCK
      • LRC
      • MD5
      • MSO
      • OBB
      • ODF
      • OGG
      • PES
      • RIS
      • RML
      • SSP
      • TORRENT
      • VIM
      • VIMRC
      • XMP
      • XSMX
    • Обратите внимание на форматы файлов
      • Обратите внимание на форматы файлов
      • ONE
      • ONETOC2
    • Язык описания страницы
      • Язык описания страницы
      • AVERY
      • CGM
      • EPS
      • INDD
      • INDT
      • OXPS
      • PCL
      • PS
      • SVG
      • SWF
      • TEX
      • XPS
      • XSLFO
    • PDF
      • PDF
      • FDF
      • PDF/A
      • PDF/E
      • PDF/UA
      • PDF/VT
      • PDF/X
      • XFDF
    • Форматы файлов презентаций
      • Форматы файлов презентаций
      • KEY
      • ODP
      • OTP
      • POT
      • POTM
      • POTX
      • PPS
      • PPSM
      • PPSX
      • PPT
      • PPTM
      • PPTX
    • Программирование
      • Программирование
      • ABC
      • ACD
      • ADDIN
      • ADS
      • AGI
      • AIA
      • AIDL
      • ALB
      • AML
      • ANE
      • APA
      • APKS
      • APPX
      • APPXBUNDLE
      • APPXUPLOAD
      • APS
      • ARSC
      • AS
      • AS2PROJ
      • AS3PROJ
      • ASC
      • ASI
      • ASM
      • ASVF
      • AU3
      • AWK
      • C
      • CD
      • Class
      • CMAKE
      • CONFIG
      • CPP
      • CS
      • CSPROJ
      • CXX
      • Dart
      • DIFF
      • EGG
      • ERB
      • EX
      • G4
      • GO
      • GROOVY
      • H
      • HAML
      • HH
      • HS
      • HTA
      • ICI
      • IN
      • INC
      • IPR
      • JAR
      • Java
      • JRXML
      • JSP
      • JSPF
      • KT
      • LGO
      • LUA
      • M
      • MAKE
      • MEL
      • MF
      • ML
      • MM
      • MRC
      • MSIX
      • NUPKG
      • NUT
      • PAS
      • PDB
      • PDE
      • PHP
      • PL
      • PY
      • PYD
      • PYI
      • PYM
      • PYW
      • PYX
      • R
      • RBXL
      • RBXM
      • RES
      • RS
      • RST
      • SCALA
      • SCM
      • SCRIPT
      • SH
      • SLN
      • SWIFT
      • TCL
      • TOML
      • TS
      • UNITY
      • VB
      • VBPROJ
      • VBS
      • VCXPROJ
      • XSD
      • YAML
      • YML
      • YPR
    • Форматы файлов управления проектами
      • Форматы файлов управления проектами
      • MPP
      • MPT
      • MPX
      • P6XML
      • XER
    • Форматы файлов издателя
      • Форматы файлов издателя
      • PUB
      • PUZ
    • Составление отчетов
      • Форматы файлов отчетов
      • MAR
      • RDL
      • RDLC
      • RPL
      • RPT
    • Форматы файлов электронных таблиц
      • Форматы файлов электронных таблиц
      • 123
      • 12M
      • _XLS
      • _XLSX
      • AST
      • AWS
      • BKS
      • CELL
      • CSV
      • CTS
      • DEF
      • DEX
      • DFG
      • DIF
      • DIS
      • EFU
      • ESS
      • FCS
      • FM
      • FODS
      • FP
      • GNM
      • GNUMERIC
      • IMP
      • NB
      • NUMBERS
      • NUMBERS-TEF
      • ODS
      • OTS
      • PMD
      • PMDX
      • PMVX
      • SDC
      • STC
      • SXC
      • TMV
      • TMVT
      • TSV
      • XL
      • XLA
      • XLAM
      • XLM
      • XLR
      • XLS
      • XLSB
      • XLSM
      • XLSMHTML
      • XLSX
      • XLT
      • XLTHTML
      • XLTM
      • XLTX
    • Форматы системных файлов
      • Форматы системных файлов
      • AML
      • ASV
      • CAB
      • CFG
      • CPG
      • CPL
      • DLL
      • DMP
      • DRV
      • ETL
      • HDMP
      • INI
      • INS
      • LNK
      • MDMP
      • SCR
      • SYS
      • TMP
    • Форматы видеофайлов
      • Форматы видеофайлов
      • 3G2
      • 3GP
      • AMV
      • ARF
      • ASF
      • AVCHD
      • AVI
      • BIK
      • DAV
      • EXO
      • F4V
      • FLV
      • H264
      • H265
      • IDX
      • IFO
      • M2TS
      • M4S
      • M4V
      • MJPEG
      • MK3D
      • MKS
      • MKV
      • MOV
      • MP4
      • MPE
      • MPG
      • MPV
      • MTS
      • MXF
      • NSV
      • PZ
      • QT
      • RM
      • RMVB
      • RV
      • SEC
      • SRT
      • VID
      • VOB
      • VP6
      • VP8
      • VP9
      • VTT
      • WEBM
      • WMV
      • XVID
    • Форматы веб-файлов
      • Форматы веб-файлов
      • A4P
      • A5W
      • AAE
      • ADR
      • AEX
      • ALX
      • AN
      • AP
      • APKG
      • APPCACHE
      • ARO
      • ASA
      • ASAX
      • ASCX
      • ASHX
      • ASMX
      • ASP
      • ASPX
      • ASR
      • ATOM
      • ATT
      • AWM
      • BML
      • BOK
      • BR
      • BWP
      • CDF
      • CER
      • CFM
      • CFML
      • CHA
      • CHAT
      • CHM
      • CODASITE
      • CRDOWNLOAD
      • CRL
      • CRT
      • CSHTML
      • CSP
      • CSR
      • CSS
      • DAP
      • DCR
      • DER
      • DHTML
      • DISCO
      • DISCOMAP
      • DML
      • DO
      • DOCHTML
      • DOCMHTML
      • DOTHTML
      • DOWNLOAD
      • DRAWIO
      • DWT
      • ECE
      • EDGE
      • EPIBRW
      • ESPROJ
      • EWP
      • FCGI
      • FMP
      • FREEWAY
      • FWP
      • FWTEMPLATE
      • FWTEMPLATEB
      • GDOC
      • GDOCX
      • GNE
      • GSP
      • HAR
      • HDM
      • HDML
      • HTACCESS
      • HTC
      • HTM
      • HTML
      • HTX
      • HXS
      • HYPE
      • JHTML
      • JNLP
      • JS
      • JSON
      • JSPA
      • KIT
      • LESS
      • MHT
      • MHTML
      • MJS
      • OBML
      • OBML15
      • OBML16
      • P7B
      • P7C
      • PAC
      • PART
      • PEM
      • PRO
      • RHTML
      • RJS
      • RSS
      • Sass
      • SCSS
      • SHTML
      • SPC
      • SSP
      • STML
      • TPL
      • URL
      • VRT
      • WBS
      • WEBBOOKMARK
      • WEBLOC
      • WEBSITE
      • WHTT
      • WSDL
      • XAML
      • XD
      • XHT
      • XHTML
      • XML
      • XOJ
      • XOML
      • XSLT
      • XUL
      • ZUL
    • Форматы файлов текстовых редакторов
      • Форматы файлов текстовых редакторов
      • ASD
      • DOC
      • DOCM
      • DOCX
      • DOT
      • DOTM
      • DOTX
      • DSC
      • FAQ
      • FODT
      • IPYNB
      • LATEX
      • LTX
      • MAN
      • MD
      • ODM
      • ODT
      • OTT
      • QBL
      • QPF
      • RTF
      • TXT
      • WPD
      • WPS
    • visio
      • Форматы файлов Visio
      • VDW
      • VDX
      • VSD
      • VSDM
      • VSDX
      • VSS
      • VSSM
      • VSSX
      • VST
      • VSTM
      • VSTX
      • VSX
      • VTX
    1. Дом
    2. Программирование
    3. LUA

    What's on this Page

      • .LUA вариант №
      • Краткая история
      • Техническая спецификация
      • Пример формата файла LUA
        • Синтаксис
        • Функции
        • Поток управления
        • Таблицы
        • Метатаблицы
        • Наследование
      • Ссылка

    .LUA вариант №

    Файл с расширением .lua принадлежит языку программирования Luа. Luа — это легкий, высокоуровневый, мультипарадигменный язык программирования, разработанный в первую очередь для встроенного использования в приложениях. Он кроссплатформенный, так как написан интерпретатор скомпилированного байт-кода, а у Luа есть относительно простой C АРI для встраивания его в приложения.

    Первоначально Lua был разработан в 1993 году как язык для расширения приложений программного обеспечения для удовлетворения растущего спроса на настройку в то время. Он предоставлял базовые возможности большинства процедурных языков программирования, но не включал более сложные или предметно-ориентированные функции:

    • Включены механизмы расширения языка
    • Разрешение программистам реализовывать такие функции

    Краткая история

    Luа был создан в 1993 году Роберто Иерусалимским, Луисом Энрике де Фигейредо и Вальдемаром Селесом, членами группы компьютерных графических технологий, также известной как Teсgraf, в Университете Ронтификал Католис в Рио-де-Жанейрсил.

    С 1977 по 1992 год в Бразилии существовала политика сильных торговых барьеров, называемая рыночным резервом для компьютерного оборудования и программного обеспечения. В такой атмосфере клиенты Teсgraf не могли ни политически, ни финансово позволить себе покупать специализированное программное обеспечение за границей. Эти причины побудили Teсgraf реализовать базовые инструменты, которые ей были нужны, с нуля. Предшественниками Luа были языки описания/конфигурации данных SOL (Simple Object Language) и DEL (Dat Entry Language).

    Техническая спецификация

    Lua обычно называют «мультипарадигмальным» языком, предоставляющим небольшой набор общих функций, которые можно расширить для решения различных типов задач. Lua не содержит явного запроса на наследование, но позволяет реализовать его с помощью метатаблиц. Точно так же Lua позволяет программистам реализовывать имена, классы и другие связанные функции, используя его единственную табличную реализацию:

    • Первоклассные функции позволяют использовать многие приемы функционального программирования
    • Полная лексическая сортировка позволяет скрывать детализированную информацию для обеспечения соблюдения принципа наименьших привилегий

    В целом, Lua стремится предоставлять простые, гибкие мета-функции, которые можно расширять по мере необходимости, а не предоставлять набор функций, специфичный для одной парадигмы программирования. В результате базовый язык является легким, так как интерпретатор полной ссылки занимает всего около 247 КБ и легко адаптируется к широкому диапазону приложений.

    Язык с динамической типизацией, предназначенный для использования в качестве языка расширений или языка сценариев, Lua достаточно удобен, чтобы соответствовать различным хост-платформам. Он поддерживает только небольшое количество атомарных структур данных, таких как логические значения, числа (по умолчанию с плавающей запятой двойной точности и 64-битные целые числа) и строки.

    Типичные структуры данных, такие как массивы, наборы, списки и записи, могут быть представлены с помощью единственной родной структуры данных Luа, таблицы, которая по существу является гетерогенным ассоциативным массивом.

    Поскольку Lua задумывался как универсальный язык встраиваемых расширений, разработчики этого языка сосредоточились на улучшении его скорости, переносимости, расширяемости и простоты использования при разработке. Luа-программы не интерпретируются непосредственно из текстового Luа-файла, а компилируются в байт-код, который затем запускается на виртуальной машине Luа.

    Процесс компиляции, как правило, невидим для пользователя и выполняется во время выполнения, особенно при использовании JIT-компилятора, но его можно выполнять и в автономном режиме, чтобы повысить производительность загрузки или уменьшить объем памяти, загружаемой в среде хоста. компилятор.

    Байт-код Lu также может быть сгенерирован и выполнен изнутри Luа, используя функцию дампа из библиотеки строк и функции load/loadstring/loadfile. Luа версии 5.3.4 реализован примерно в 24 000 строк кода на С.

    Как и большинство СRU, и в отличие от большинства виртуальных машин, основанных на стеке, виртуальная машина Luа основана на регистрах и, следовательно, более похожа на реальное аппаратное обеспечение. Архитектура реестра позволяет избежать чрезмерной сортировки значений и сокращает общее количество инструкций на функцию. Виртуальная машина Luа 5 является одной из первых чистых виртуальных машин на основе регистров, получивших широкое распространение.

    Этот язык реализует небольшой набор расширенных функций, таких как первоклассные функции, сборка мусора, замыкания, правильные вызовы хвоста, автоматическое преобразование между строковыми и числовыми значениями во время выполнения, сопрограммы (сопрограммирование многозадачности).

    Пример формата файла LUA

    Синтаксис

    print("Hello, World!")
    
    --or
    
    print 'Hello, World!'
    

    Функции

    do
      local oldprint = print
      -- Store current print function as oldprint
      function print(s)
        oldprint(s == "foo" and "bar" or s)
      end
    end
    
    function addto(x)
      -- Return a new function that adds x to the argument
      return function(y)
        return x + y
      end
    end
    

    Поток управления

    while condition do
      --statements
    end
    
    repeat
      --statements
    until condition
    
    for i = first, last, delta do
      --statements
      --example: print(i)
    end
    
    for key, value in pairs(_G) do
      print(key, value)
    end
    
    local grid = {
      { 11, 12, 13 },
      { 21, 22, 23 },
      { 31, 32, 33 }
    }
    
    for y, row in ipairs(grid) do
      for x, value in ipairs(row) do
        print(x, y, value)
      end
    end
    

    Таблицы

    ExampleTable =
    {
      {1, 2, 3, 4},
      {5, 6, 7, 8}
    }
    print(ExampleTable[1][3]) -- Prints "3"
    print(ExampleTable[2][4]) -- Prints "8"
    

    Метатаблицы

    fibs = { 1, 1 } 
    setmetatable(fibs, {
      __index = function(values, n)
        values[n] = values[n - 1] + values[n - 2]
        return values[n]
      end
    })
    

    Наследование

    local Vector = {}
    Vector.__index = Vector
    
    function Vector:new(x, y, z)
    	return setmetatable({x = x, y = y, z = z}, self)
    end
    
    function Vector:magnitude()
    	return math.sqrt(self.x^2 + self.y^2 + self.z^2)
    end
    
    local VectorMult = {}
    VectorMult.__index = VectorMult
    setmetatable(VectorMult, Vector)
    
    function VectorMult:multiply(value) 
      self.x = self.x * value
      self.y = self.y * value
      self.z = self.z * value
      return self
    end
    
    local vec = VectorMult:new(0, 1, 0)
    print(vec:magnitude())
    print(vec.y)
    vec:multiply(2)
    print(vec.y)  
    

    Ссылка

    • LUA - из Википедии

    See Also

    • NUT — языковой файл белки
    • HTA — файлы приложений HTML
    • ERB — языковой файл eRuby
    • MRC — файл языка сценариев mIRC
    • ICI — файл языка программирования
     
     Русский
    Close
     English
     Deutsch
     日本
     中文
     Français
     한국인
     Español
     Italiano
     Nederlands
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     Ελληνικά
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski