SORU
17 Temmuz 2009, Cuma


Python taklit İşaretçiler

Ev bir dil derleme geçmeye çalışıyorum(uch) Python için.

Uch özelliklerinden biri de C veya C beklediğiniz gibi davranan işaretçiler ve başvurular .

Örneğin, bunu yapabilirsiniz:

a = [1,2];  // a has an array 
b = &a;     // b points to a
*b = 2;     // derefernce b to store 2 in a
print(a);   // outputs 2
print(*b);   // outputs 2

Bir şekilde çoğaltmak için bu Python işlevi yoktur.

Birkaç kişi karıştırdım sanırım belirtmeliyim. Python işaretçiler istemiyorum. Ben sadece Python uzmanlardan bir anlamda orada olmak isteyen, üretmek için gereken ne yukarıda gösterdiğim dava taklit

Benim Python büyük değil ama şimdiye kadar benim arama hiç bir şey için söz vermiştir yok:(

Daha yaygın bir dil için bizim uch taşımak için arıyoruz, şunu belirtmeliyiz ki, gerçekten, eğer birisi daha uygun olabilecek başka bir dil önerebilirim eğer Python bağlı değiliz.

CEVAP
17 Temmuz 2009, Cuma


Bu açıkça yapılabilir.

class ref:
    def __init__(self, obj): self.obj = obj
    def get(self):    return self.obj
    def set(self, obj):      self.obj = obj

a = ref([1, 2])
b = a
print a.get()  # => [1, 2]
print b.get()  # => [1, 2]

b.set(2)
print a.get()  # => 2
print b.get()  # => 2

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007
  • Professor Messer

    Professor Me

    27 NİSAN 2007