તાજેતરમાં પ્રથમ સંસ્કરણના પ્રકાશનની જાહેરાત કરવામાં આવી હતી પ્રોગ્રામિંગ ભાષાથી સ્વતંત્ર લુઉ, જે લુઆના વિકાસ સાથે ચાલુ રહે છે અને લુઆ 5.1 ના અગાઉના સંસ્કરણો સાથે પણ સુસંગત છે.
લુઆઉ ભાષા છે મુખ્યત્વે સ્ક્રિપ્ટીંગ એન્જિનને એમ્બેડ કરવા માટે રચાયેલ છે એપ્લિકેશન્સમાં અને ઉચ્ચ પ્રદર્શન અને ઓછા સંસાધન વપરાશને હાંસલ કરવાનો હેતુ છે. પ્રોજેક્ટ કોડ C++ માં લખાયેલ છે અને MIT લાયસન્સ હેઠળ ખુલ્લો છે.
લુઆ લુઆને ટાઇપ ચેકિંગ ક્ષમતાઓ અને કેટલાક બિલ્ડ્સ સાથે વિસ્તૃત કરે છે શબ્દમાળા શાબ્દિક જેવી નવી વાક્યરચના. આ ભાષા Lua 5.1 ના પાછલા સંસ્કરણો સાથે અને આંશિક રીતે નવા સંસ્કરણો સાથે સુસંગત છે. લુઆ રનટાઇમ API સપોર્ટેડ છે, Luau ને પૂર્વ-અસ્તિત્વમાં રહેલા કોડ્સ અને લિંક્સ સાથે ઉપયોગ કરવાની મંજૂરી આપે છે.
આજની તારીખે, લુઆઉ હવે રોબ્લોક્સ પ્લેટફોર્મનો અવિભાજ્ય ભાગ નથી; એક સ્વતંત્ર ઓપન સોર્સ લેંગ્વેજ છે.
ભાષા રનટાઇમ ભારે સુધારેલ લુઆ 5.1 રનટાઇમ કોડ પર આધારિત છે, પરંતુ દુભાષિયાને સંપૂર્ણપણે ફરીથી લખવામાં આવ્યો છે. વિકાસમાં કેટલીક નવી ઓપ્ટિમાઇઝેશન તકનીકો સામેલ છે જેણે લુઆની તુલનામાં ઉચ્ચ પ્રદર્શન પ્રાપ્ત કરવાનું શક્ય બનાવ્યું.
જ્યારે Roblox 15 વર્ષ પહેલાં બનાવવામાં આવ્યું હતું, ત્યારે અમે લુઆને પ્રોગ્રામિંગ ભાષા તરીકે પસંદ કરી હતી. લુઆ નાની, ઝડપી, એકીકૃત અને શીખવામાં સરળ હતી અને તે અમારા વિકાસકર્તાઓ માટે વિશાળ શક્યતાઓ ખોલી હતી.
રોબ્લોક્સનો મોટાભાગનો ભાગ લુઆ પર બનાવવામાં આવ્યો હતો, જેમાં આંતરિક રીતે વિકસિત કોડની સેંકડો હજારો લાઇનનો સમાવેશ થાય છે જે આજની તારીખે રોબ્લોક્સ એપ્લિકેશન અને રોબ્લોક્સ સ્ટુડિયોને શક્તિ આપે છે અને વિકાસકર્તાઓએ બનાવેલા લાખો અનુભવોનો સમાવેશ થાય છે. તેમાંના ઘણા લોકો માટે, તેઓ શીખ્યા તે પ્રથમ પ્રોગ્રામિંગ ભાષા હતી.
પ્રોજેક્ટ રોબ્લોક્સ દ્વારા વિકસાવવામાં આવ્યો હતો અને તેનો ઉપયોગ ગેમ પ્લેટફોર્મ કોડ અને કસ્ટમ એપ્લિકેશન્સમાં થાય છે રોબ્લોક્સ સ્ટુડિયોના પ્રકાશક સહિત આ કંપની તરફથી. શરૂઆતમાં, લુઆઉનો વિકાસ બંધ દરવાજા પાછળ કરવામાં આવ્યો હતો, પરંતુ અંતે તેને સમુદાયની ભાગીદારી સાથે વધુ સંયુક્ત વિકાસ માટે ખુલ્લા પ્રોજેક્ટ્સની શ્રેણીમાં સ્થાનાંતરિત કરવાનો નિર્ણય લેવામાં આવ્યો હતો.
મુખ્ય લક્ષણો:
- અનુક્રમિક પ્રકારની સિસ્ટમ, જે ગતિશીલ અને સ્થિર લેખન વચ્ચે મધ્યવર્તી સ્થાન ધરાવે છે. લુઆઉ વિશિષ્ટ ટીકાઓ દ્વારા પ્રકારની માહિતીનો ઉલ્લેખ કરીને જરૂરી મુજબ સ્થિર લેખનની મંજૂરી આપે છે.
- આ બિલ્ટ-ઇન પ્રકારો "કોઈપણ", "નિલ", "બુલિયન", "નંબર", "સ્ટ્રિંગ" અને "થ્રેડ". તે જ સમયે, ચલો અને કાર્યોના પ્રકારને સ્પષ્ટપણે વ્યાખ્યાયિત કર્યા વિના ગતિશીલ ટાઇપિંગનો ઉપયોગ કરવાની ક્ષમતા પણ સાચવેલ છે.
- શાબ્દિક શબ્દમાળાઓ માટે આધાર (લુઆ 5.3 માં)
- લૂપના નવા પુનરાવર્તન પર જવા માટે હાલના કીવર્ડ "બ્રેક" ઉપરાંત "ચાલુ રાખો" અભિવ્યક્તિ માટે સપોર્ટ.
- સંયોજન સોંપણી ઓપરેટરો માટે આધાર
- ના ઉપયોગ માટે આધાર શરતી બ્લોક્સ "જો-તો-બીજું" અભિવ્યક્તિઓના સ્વરૂપમાં જે બ્લોકના અમલ દરમિયાન ગણતરી કરેલ મૂલ્ય પરત કરે છે. તમે બ્લોકમાં elseif સ્ટેટમેન્ટ્સની મનસ્વી સંખ્યાનો ઉલ્લેખ કરી શકો છો.
- સેન્ડબોક્સ મોડની હાજરી જે તમને અવિશ્વસનીય કોડ ચલાવવા માટે પરવાનગી આપે છે. આ ફંક્શનનો ઉપયોગ તમારા પોતાના કોડ અને અન્ય ડેવલપર દ્વારા લખાયેલ કોડને ગોઠવવા માટે થઈ શકે છે, ઉદાહરણ તરીકે તૃતીય-પક્ષ લાઇબ્રેરીઓ કે જેની ખાતરી આપી શકાતી નથી, સાથે-સાથે ચલાવવા માટે.
- સ્ટાન્ડર્ડ લાઇબ્રેરીની મર્યાદા જેમાંથી વિધેયો જે સંભવિત રીતે સુરક્ષા સમસ્યાઓનું સર્જન કરી શકે છે તે દૂર કરવામાં આવ્યા છે. ઉદાહરણ તરીકે, લાઇબ્રેરીઓ "io" (ફાઇલો અને સ્ટાર્ટઅપ પ્રક્રિયાઓની ઍક્સેસ), "પેકેજ" (ફાઇલો અને લોડ મોડ્યુલોની ઍક્સેસ), "os" (ફાઇલોને ઍક્સેસ કરવા અને પર્યાવરણ ચલોને બદલવાના કાર્યો દૂર કરવામાં આવ્યા છે), "ડિબગ" (અસુરક્ષિત મેમરી હેન્ડલિંગ), "ડોફાઈલ" અને "લોડફાઈલ" (ફાઈલ સિસ્ટમ એક્સેસ).
- સ્ટેટિક કોડ વિશ્લેષણ, ભૂલ શોધ (લિંટર) અને પ્રકારોના ઉપયોગને માન્ય કરવા માટેના સાધનો પ્રદાન કરો.
- વિશ્લેષક, bytecode દુભાષિયા અને ઉચ્ચ પ્રદર્શન માલિકીનું કમ્પાઇલર.
- લુઆઉ હજુ સુધી JIT સંકલનને સમર્થન આપતું નથી, પરંતુ એવી દલીલ કરવામાં આવે છે કે લુઆઉ દુભાષિયા કેટલીક પરિસ્થિતિઓમાં LuaJIT સાથે કામગીરીમાં તદ્દન તુલનાત્મક છે.
છેલ્લે જો તમને તેના વિશે વધુ જાણવામાં રસ છે, તમે વિગતો ચકાસી શકો છો નીચેની કડીમાં