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

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007