2011-08-07 25 views
6

Belge yazarken bir örnek alanına nasıl başvurabilirim? bir örneğini yöntemi için "statik" yöntemi için Foo.foo ve Foo#foo kullanmak istiyorsunuz, Java'daÖrnek yöntemlere nasıl başvurulur?

object Foo { 
    val foo = 42 
} 

class Foo { 
    val foo = 42 
} 

:

bu kodu düşünün.

Ama Scala # yılında

zaten yol bağımlı türleri için alınır ve
class Foo { 
    class foo 
    def foo = 42 
} 

yasal kod, bu yüzden açık bir şekilde kendisine başvuramaz.

Bunun nasıl olması gerektiğine dair bir sözleşme var mı?

cevap

3

Sert. Belki de İngilizce gibi, Foo's foo? #'un muğlaklığını kaçırdım. Yine de bu benim tercih edilen seçimim, çünkü belirsizlik sadece bağlam yokluğunda var. Bir türe başvururken, #'un bir anlamı vardır. Bir değer veya yönteme başvururken, #'un bir diğeri vardır.

Türler ve yöntemler/değerler ad alanını paylaşmadığından, belirsizliğin burada alaka düzeyini göremiyorum.

+0

Bu amaçla # kullanıyorum. – retronym

+0

Asıl sorun, ScalaDoc'a bağlantı veren bir URL'nin nasıl görünmesi gerektiği? Belirsiz bir sembolün seçilmesi dışında bir URL'ye "bağlam" yerleştirmenin bir yolu yoktur. Ve eğer bir sembolü icat etmek zorunda kalırsak, onu da belgelerde kullanabiliriz. – soc

+0

@soc Peki, ne foo.foo 'ScalaDoc'ta başvuruyor? Foo nesnesindeki foo türüne veya foo nesnesindeki foo komutuna? Bu sorun zaten var. Sadece insanlar isimsiz ve aynı tanımlayıcıya sahip olmayan üyeler olarak çok cüretkâr olduklarında, bunu görmezden geldiğimizi ya da her ikisini de çözdüğümü söylerim. Ayrıca ... bir URL'de iirc, '' 'özel bir anlamı var, bu yüzden onu gerçekten URL’lerde kullanamıyoruz, değil mi? –

İlgili konular