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

  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • FlippinWindows | #1 Windows Tutorial Channel!

    FlippinWindo

    23 Mayıs 2010
  • graham025

    graham025

    25 NİSAN 2006