Skip to content

Instantly share code, notes, and snippets.

View makiftutuncu's full-sized avatar
💭
🤘🏻

Mehmet Akif Tütüncü makiftutuncu

💭
🤘🏻
View GitHub Profile
@makiftutuncu
makiftutuncu / BetterEnums.scala
Created December 10, 2014 14:55
Better Enumerations in Scala
/**
* A base trait for custom enumerations
*
* <ol>
* <li>Have an abstract super class E for all your enum items.</li>
* <li>Generate case objects for each enumeration item of type E.</li>
* <li>Then add them to values set when you implement it.</li>
* </ol>
*
* Example:
@makiftutuncu
makiftutuncu / MerhabaScala.scala
Created November 28, 2015 20:50
Scala ile ilk uygulama
object MerhabaScala {
def main(args: Array[String]): Unit = {
println("Merhaba Scala!")
}
}
@makiftutuncu
makiftutuncu / MerhabaScala2.scala
Last active November 28, 2015 22:58
Scala ile ilk uygulamada ek örnekler
def topla(sayi1: Int, sayi2: Int): Int = sayi1 + sayi2
def toplamCiftMi(sayi1: Int, sayi2: Int): Boolean = {
val toplam: Int = topla(sayi1, sayi2)
val mod2: Int = toplam % 2
mod2 == 0
}
@makiftutuncu
makiftutuncu / NedenScala.scala
Created November 29, 2015 21:09
Neden Scala? yazısı için örnek Scala kodu
case class Insan(yas: Int)
object NedenScala {
def main(args: Array[String]) {
val insanlar = for (i <- 1 to 10) yield Insan(scala.util.Random.nextInt(30) + 5)
println("İnsanlar:")
insanlar foreach println
println("Yaşları toplamı:")
println(insanlar.foldLeft(0)(_ + _.yas))
}
@makiftutuncu
makiftutuncu / NedenScala.java
Created November 29, 2015 21:10
Neden Scala? yazısı için örnek Java kodu
class Insan {
private int yas;
public Insan(int yas) {
this.yas = yas;
}
public int yas() {
return yas;
}
@makiftutuncu
makiftutuncu / ScalaTurCikarimi.scala
Created December 1, 2015 21:09
Scala'da tür çıkarımı (type inference) örneği
val a: Char = 'a'
val b: Int = 3
val c: Long = 5
val d: Boolean = true
// Scala Double'ı Float'a tercih eder. Özellikle Float istediğimiz için tür dönüşümü yapıyoruz.
val e: Float = (3.14).asInstanceOf[Float]
val f: String = "e"
val any1: Array[Any] = Array(a, b, c, d, e, f)
@makiftutuncu
makiftutuncu / ScalaTurCikarimi2.scala
Created December 1, 2015 21:26
Scala'da tür çıkarımı (type inference) örneği 2
def dogru(a: String, b: Int, c: Boolean): Long = {
// Burada Long türünde bir değer olacak.
}
// Metodun dönüş değerinin türü de çıkarımla bulunabilir çünkü gövdedeki son ifadenin değeri geri döndürülecek.
// Haliyle metodun dönüş değerinin türü de bu son ifadenin değerinin türü olacak.
// Dolayısıyla metod imzasından dönüş türünü atabiliriz.
def buDaDogru(a: String, b: Int, c: Boolean) = dogru(a, b, c)
// Bu hata verecek çünkü Scala statik türlü.
@makiftutuncu
makiftutuncu / ScalaTemelKavramlar.scala
Created December 4, 2015 20:20
Scala'da Temel Kavramlar yazısınındaki örnek
var sayi: Int = 6
var metin = "Sayı çift mi?"
var ciftMi: Boolean = _
println("Sayı: " + sayi)
println(metin + " " + ciftMi)
ciftMi = sayi % 2 == 0
println("Tekrar bak.")
@makiftutuncu
makiftutuncu / ScalaTemelKavramlar2.scala
Created December 4, 2015 20:56
Scala'da Temel Kavramlar yazısınındaki örnek 2
val sayi: Int = 6
val metin = "Sayı çift mi?"
// Bu hata verecek.
val ciftMi: Boolean = _
// Bu da hata verecek.
sayi = 5
@makiftutuncu
makiftutuncu / ScalaTemelKavramlar3.scala
Last active December 5, 2015 09:15
Scala'da Temel Kavramlar yazısınındaki örnek 3
def buBirMetod {}
def buDa = {}
def hattaBuDa: Unit = {}
def veHattaBuDa(): Unit = {}
buBirMetod
veHattaBuDa()
def sayi = 5
def sayi2() = 6