Created
February 11, 2013 03:26
-
-
Save tolpp/4752259 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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