Skip to content

Instantly share code, notes, and snippets.

@tolpp
Created February 11, 2013 03:26
Show Gist options
  • Save tolpp/4752259 to your computer and use it in GitHub Desktop.
Save tolpp/4752259 to your computer and use it in GitHub Desktop.
object run {
def main(args: Array[String]): Unit = {
var myList : List[Int] = List.range(1,10) // 1 to 9 liste yaratılır.
println("myList : " + myList)
println("Sum : " + sumList(myList) )
println("Odd Sum : " + sumList(myList, i => if (i%2 != 0) i else 0 ))
println("Odd Sum2 : " + sumList(myList, oddSumBlock ))
println("Even Sum : " + sumList(myList, i => if (i%2 == 0) i else 0 ))
println("Even Sum2 : " + sumList(myList, evenSumBlock ))
//println("Even Sum2 : " + sumList(myList, evenSumBlock() )) // Hata
}
/*
* Toplama işlemi için kullanilan metod.
*
* @param myList:List[Int] --> Değerleri üzerinde toplama işlemi gerçekleştirilecek dizi
* @param realVal:Int => Int --> Toplama işlemindeki istediğim değeri getirecek fonksiyon, kod parçası
*
* @return Int --> İstenilen toplam değeri
* */
def sumList(myList:List[Int], realVal:Int => Int) : Int = {
var sum : Int = 0;
for(num <- myList){
sum += realVal(num)
}
sum
}
/*
* Listedeki tüm değerleri ek işlem yapmaksızın toplayan metod.
* */
def sumList(myList:List[Int]):Int = {
return sumList(myList, i => i)
}
/*
* Değer tek sayı ise ilgili sayıyı, değilse 0 döndüren metod.
*
* Scala'da bir metodu istersek uzun uzun yazabiliyoruz ve "return" koşulunu koyabiliyoruz.
* */
def oddSumBlock(i:Int) : Int = {
var r : Int = 0
if( i%2 != 0 ) r = i
return r
}
/*
* Değer çift ise ilgili değeri, değil ise 0 döndüren metod
*
* Scala'da metodları bu kadarcık yazmamız da mümkün.
* */
def evenSumBlock(i:Int) = if (i%2 == 0) i else 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment