Tamam Bunu anlamak için her yolu deniyorum.Erlang - Global Variables .. evet Biliyorum, biliyorum
Bu tabloyu global hale getirmem gerekiyor .. Programım kapsamında TableID'i geçmek için çok daha az verimli olduğunu fark ettim.
TableID = ets:new(tb, [set,public]),
put({tableUniqueID}, TableID),
Sonra
kullandığım:
get({tableUniqueID})
Ve aynı işlevi gayet tableId döndürür ... henüz ne zaman
Yani o kadar seyir sonra yeni bir tablo oluşturma çalıştı Başka bir işlevde kullanın, tanımsız bir şekilde döndürür.
Ne ?? Dışarıda değil işleri işlevinde,
ets:lookup(get({tableUniqueID}), msgIn)
aynı şeyi: Ben
AYRICA tüm bu önce aşağıdaki gibi bir tablo arama işlevi çağırmak "olabilir" fark .. olsun düşünce ve global bir anahtar yapılmış koymak .. Put Get sorun .. Sonra masanınets:lookup(tb, msgIn)
ait atom arayarak olacak bir tablo Arama için başka bir yol gerçekleştirilen Ama değil işlevi içinde değil çalışır asla bu Bu nedenle, benim asıl önceliğim, bir tablonun atomuyla niçin bir tabloya baktığını anlamak mümkün değildir. Ama el kitabı da dahil olmak üzere çoğu yerde olduğunu söylüyor.
Olmadan yaşayabildiğim/alın Tabanı depolayabildiğim sürece, tabloyu atom tanımlayıcısına göre arayın.
Bu ikilem üzerinde kim ışık tutabilir?