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

  • Autocar

    Autocar

    11 Mart 2006
  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008