'u nasıl kullanırım? in the API'u yeni buldum ve bir veya iki örneği görmek için iyi bir açıklama ile birlikte görmek istiyorum.Özellik scala.Proxy
cevap
Vekil özelliği temsilci oluşturmak için yararlı bir temel temin etmektedir sadece Any
(equals
, hashCode
ve toString
) yöntemlerinin uygulanmasını sağlar. Herhangi bir ek yönlendirme yöntemini kendiniz uygulamak zorunda kalacaksınız. Vekil genellikle pimp-my-library pattern ile kullanılır:
class RichFoo(val self: Foo) extends Proxy {
def newMethod = "do something cool"
}
object RichFoo {
def apply(foo: Foo) = new RichFoo(foo)
implicit def foo2richFoo(foo: Foo): RichFoo = RichFoo(foo)
implicit def richFoo2foo(richFoo: RichFoo): Foo = richFoo.self
}
standart kütüphane de toplama vekiller (SeqProxy
, SetProxy
, MapProxy
, vs) oluşturmak için yararlı olan özelliklerin kümesi içerir. Son olarak, yönlendirme yöntemlerini otomatik olarak uygulayan bir ölçekleyici eklentisi olan (AutoProxy plugin) derleyici eklentisi vardır. Ayrıca bkz. this question.
Bu işlev, Haskell'in newtype
gibi işlevlerine ihtiyaç duyduğunuzda kullanacağınız görünüyor. Örneğin
aşağıdaki Haskell kod:
newtype Natural = MakeNatural Integer
deriving (Eq, Show)
kabaca Scala kodu aşağıdakilere tekabül edebilir: ancak,
case class Natural(value: Int) extends Proxy {
def self = value
}
Bu temel olarak delegeleri oluşturmak için kullanılan makinelerdir? –
@JensSchauder, evet. – missingfaktor
- 1. Özellik kaydedilmedi: özellik adı
- 2. Özellik,
- 3. Sabit özellik olarak hesaplanmış özellik kullanımı
- 4. Genel Liste Özelliğinde Gerekli Özellik Özellik
- 5. , bir özellik
- 6. bilinmeyen özellik:
- 7. Python'da özellik tanımlamanın tercih edilen yolu: özellik dekoratörü veya lambda?
- 8. UserControl, Visual Studio Tasarımcısı'nda özellik gösterir, ancak özellik değişmez
- 9. json.net bir özellik için iki olası özellik isimleri ile Deserialisation?
- 10. Belge özellik matrisinde özellik seçimi chi-kare testi kullanılarak
- 11. Özellik, sürekli bir özellik mi yoksa (A => B) mi?
- 12. Spring - Yeni özellik dosyası ile fason özellik değerlerini değiştirme
- 13. Sınıf gezgini olmadan özellik haritasına özellik nasıl eklenir?
- 14. Özellik dosyasındaki özellik değerini bir kabuk dosyasından düzenleyin
- 15. Openlayers 3 özellik özelliklerine göre etiket özellik konumu?
- 16. javascript defineBir özniteliği olmayan bir özellik oluşturmak için özellik belirtin
- 17. JSP, EL özellik bulunamadı
- 18. eksik: Özellik kimliğinden sonra
- 19. log4j Özellik dosyasında StringToMatch
- 20. MSBuild Özellik Referansları
- 21. Actionscript nesnesi özellik sayısı
- 22. HttpBrowserCapabilities.Crawler özellik .NET
- 23. Özellik Ayarlanamıyor ... undefined --- tuhaf
- 24. Özellik varsayılan olarak
- 25. Objective-C Özellik Erişimi
- 26. Gebelik özellik değerini değiştirme
- 27. İsteğe bağlı özellik
- 28. Javascript sayısız özellik
- 29. AttributeErrors: @ özellik ve __getattr__
- 30. Özellik dosyasından VSCode
Şu anda bu eklentinin aktif versiyonu autoproxy-lite: https://github.com/kevinwright/Autoproxy-Lite –