"Doğrudan erişim"

2 Cevap php

Bu yakut örneğe bakın:

puts ["Dog","Cat","Gates"][1]

Yakut gibi bu irade çıktı Cat bana doğrudan yaratılan "anonim" dizi erişim sağlar.

PHP bu deneyin, ancak:

echo array("Dog","Cat,"Gates")[1]

Bu işe yaramaz.

  • Bu diziler ama tüm fonksiyonları ile ilgili değil sadece, ne denir?
  • Başka nerede bu mümkün mü?

Eğer bu "özellik" denir ne biliyorsun nasıl soru başlığını değiştirmek için çekinmeyin.

2 Cevap

PHP böyle bir dil yapısı vardır. It was proposed for PHP 6 ama reddetti var.

Ruby, [] sadece bir yöntem çağrısı (obj[1] obj.[](1) için sözdizimsel şeker) yani ["Dog" arasında hiçbir anlamsal fark, "Kedi" var, "Kapılar"] [1] ve ["Köpek", "Kedi", "Kapılar"]. dilim (1). Ruby "operatörler" gibi görünen pek çok sözdizimsel yapıları gerçekten yöntemleri vardır ve genellikle kendi özel sınıflar üzerinde tanımlanabilir. Örneğin:

class Foo
  def [](index)
    puts "you tried to get something at #{index}"
  end
end

f = Foo.new
f[12]