SORU
3 HAZİRAN 2009, ÇARŞAMBA


Bu kullanma Scala yöntem bildiriminde işareti eşittir?

İle eşittir:

object HelloWorld {
  def main(args: Array[String]) = {
    println("Hello!")
  }
}

Olmadan eşittir:

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello!")
  }
}

Hem yukarıdaki programlar aynı şekilde yürütmek. Blog yazısıThings I do not like in Scalaİşareti eksik eşit olduğunda, yöntemi Unit dönüş olur. (void Java gibi) bir değer kullanmalısınız döndüren yöntemleri işareti eşittir. Ama bir dönüş değeri olmayan yöntemleri her iki şekilde de yazılabilir.

Bu bir dönüş değeri olmadığını Scala yöntemleri eşittir işareti kullanmak için en iyi uygulama nedir?

CEVAP
3 HAZİRAN 2009, ÇARŞAMBA


Ben aslında oldukça güçlü Daniel katılmıyorum. Olmayan eşit sözdizimi gerektiğini düşünüyorumaslakullanılabilir. Senin yöntemi bir API olarak maruz kalma ve kazayla yanlış tip dönme konusunda endişeliysen, açık tür bir açıklama ekleyin:

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello!")
    123
  }
}

Olmayan eşit sözdizimi kısa ve görünebilir "temiz", ama bence sadece karışıklık olasılığını ekler. Bazen bir eşittir işareti eklemek için unuttum ve benim yöntem aslında dönen Birim bir değer olduğuna inanıyordu. Olmayan eşit ve-olayla-tipi ile eşit sözdizimi görsel olarak çok benzer olduğundan, bu sorun kolay kolay Gözden kaçmaz.

Bana biraz daha fazla iş maliyeti olsa bile, açık olmamayı tercih ederim onlar da açıklamalar (yani, maruz arayüzleri).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • kidrauhl

    kidrauhl

    15 Ocak 2007
  • Michael Neal

    Michael Neal

    2 Mayıs 2009