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

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • kev5124

    kev5124

    9 Kasım 2008
  • technodromeband's channel

    technodromeb

    28 NİSAN 2011