Optimize LUA Kodluyoruz #2

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı foreigner26

  • Yeni Üye
  • *
    • İleti: 34
: 19 Mayıs 2019, 22:49:50
Optimize LUA Kodluyoruz #2


Merhaba arkadaşlar, önceden de tanışmıştık ben Enes! LUA üzerindeki ana dalım Client, ancak bu sefer sizlere hem Client hem de Serverside olarak kullanabilirliği ile ön planda olan Object Oriented Programming (OOP), türkçe meaili ile Obje Tabanlı Programlamadan bahsediceğim.

bu özellik birçok kodlama dilinde mevcut olduğu gibi LUA dilinde de daha önceden mevcuttu ancak MTA:SDK olarak 2017 yılında bizlere sunuldu,
tabii ki MTA'nın bize sunduğu OOP altyapısı biraz sorunlu olduğu için biz sbx320 adlı MTA Geliştiricisinin; LUA Utils (Linki görebilmek için Kayıt olun yada Giriş yapın.) isimli reposunda sunduğu classlib.lua dosyasını kullanıcağız.


OOP giriş seviyesi bir LUA kodlama biçimi değildir, bu yüzden OOP yazmadan önce bu fonksiyonları bilmelisiniz;


Öncelikle neden bu altyapıyı tercih ediceğimizi, nerelerde kullanabiliriz nelerde kullanamayız gibi soruları yanıtlıyım; bu altyapı bize erişebilirlik bakımından artılar sağlarken negatif olarak sadece ayarını düzgün yapamazsanız ram kullanımını arttırabilirsiniz, ancak ram kullanımı artsa bile CPU konusunda bizlere oldukca fazla avantaj sunuyor, örnek bir kod şeklini alta girmiş olucağım.


Kod

Class = {
   debug = false,

   add = function(self,value)
     
      if not value then return false end
      self.abc = value

   end,
   
   get = function(self)
   
      outputChatBox(self.abc)   

   end,   

   index = function(self)
      outputChatBox('oop Fonksiyonum Çalıştı')
   end,

}
instance = new(Class)
instance:index()

instance:add('bu benim değerim')
instance:get()



OOP hakkında bilmeniz gereken tek şey mantığını anlamanız, meta.xml'de <oop>true</oop> taglarının olduğundan emin olduktan sonra classlib.lua indirip hemen kodlamaya başlayabilirsiniz, bu basit tutorialın daha sonuna geldik kendinize dikkat etmeniz temenni ederek görüşürüz.
« Son Düzenleme: 30 Mayıs 2019, 07:17:19 Gönderen: Narkoz »
"It doesnt even matter"
 


MTASATURK

Optimize LUA Kodluyoruz #2
« : 19 Mayıs 2019, 22:49:50 »