Skip to content

Instantly share code, notes, and snippets.

@makiftutuncu
Last active December 8, 2015 20:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save makiftutuncu/3b4bb63620124ebe5d27 to your computer and use it in GitHub Desktop.
Save makiftutuncu/3b4bb63620124ebe5d27 to your computer and use it in GitHub Desktop.
Scala'da Koşul İfadeleri yazımdaki örnek 4
val metin = "merhaba"
val uzunlukSeviyesi = if (metin.length < 2) 1 else if (metin.length < 4) 2 else 3
uzunlukSeviyesi match {
case 1 => println("Çok kısa")
case 2 => println("Kısa")
// Yukarıdaki hiçbir case uygun değildi, varsayılan case
case _ => println("Uzun")
}
// Veya koşulları case ifadelerine yerleştirmek istersek if'i kullanabiliriz.
metin match {
// Sıra önemli, önce bu case çalışacak.
// Ayrıca if'ten sonra parantez kullanmak zorunda değilsiniz.
// Burada m için tür çıkarımı yapılacak, "metin" üzerinde match yapıldığı için m bir String olacak.
case m if m.length < 4 => {
println("Kısa")
}
case m: String if m.length < 2 =>
// match ... case ifadelerinde süslü parantez kullanmak zorunda değilsiniz.
println("Çok kısa")
case _ => println("Uzun")
}
// Veya doğrudan metni karşılaştıralım ve cevap için değer üretelim.
val metin2 = "slm"
val cevap = metin2 match {
case "selam" => "Ve aleykümselam."
case "merhaba" => "Sana da merhaba."
// Bu bir MatchError
}
val cevap2 = metin2 match {
// Artık birden fazla durumu eşleştirebiliyoruz.
case "selam" | "slm" => "Ve aleykümselam."
case "merhaba" => "Sana da merhaba."
// Anlamadığımız için söyleneni aynen iade ediyoruz. :)
case _ => metin2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment