13 Şubat 2017 Pazartesi

The ? : Operator in C# (Ternary Operator)


static void Main(string[] args)
        {
            int sayi = 11;
            string messenger;
            messenger = (sayi >= 25) ? "Hoşgeldin" : "Hoş gelemedin.";
            Console.WriteLine(messenger);
            Console.ReadKey();
        }
       
/*Yukarıda yapılan işlem:
Sayi 25 ten büyük mü? 
Eğer büyükse (yani sonuç TRUE ise): messenger = "Hoşgeldin"
Eğer büyük değilse (yani sonuç FALSE ise): messenger = "Hoş gelemedin."
Bu Conditional (ternary) Operator'dür.

Detaylı bilgi için Link
*/


Logical Operators in C#

The logical operators that we use frequently in many programming languages  (and, or, not)  works as shown above in C# (&&, || and !).

 The and operator (&&) works as shown above.

 The or operator (||) works as shown above.

 The not operator (!) works as shown above.

C# continue keyword kullanımı


class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 10; i++)
            {
                if (i == 5)
                    continue;

                Console.WriteLine(i); //1
            }
            Console.ReadKey();
        }
/*
continue anahtar kelimesinin yaptığı işlem:
iterasyonu durdurur, bir sonraki iterasyona geçer.
Bu yüzden 5 sayısı ekrana yazdırılmadı. Yani //1 no'lu satır atlandı.

Sonuç:
0
1
2
3
4
6
7
8
9
*/

11 Ocak 2017 Çarşamba

Kelimetör


Bu uygulama, Türkçe kaynaklarda TÜRKÇE kelimelerin aramasını yapar.
Uygulamanın düzgün çalışması için Google Chrome kullanınız.

Kaynak kodu görüntüleyeyim
Veya şuradan görüntüleyeyim

10 Ocak 2017 Salı

Ruby’de Opsiyonel Parametreler

#Ruby’de Opsiyonal Parametreler

Rubyde istenildiği kadar argümanı içine alabilecek metodlar yazabiliriz. Aşağıdaki standart bir metodu örnekleyelim:

def topla(a, b)
  puts a+b
end
topla(11, 21)
# outputs 32

Bu örnekte, görüldüğü gibi, metodun parametreleri (a,b) ve içine alabileceği argümanlar bellidir. Fakat Ruby’de bu parametreleri belirtmeden, ileride farklı miktarlarda argümanlar da kullanabileceğimizi hesaba katarak şöyle bir metod oluşturabiliriz:

def someMethod(*p)
puts p
end

bu syntax’ta gördüğümüz:     *p ile: metoda istediğimiz kadar argüman yazabiliriz. Deneyelim:

someMethod(32, "merhaba", "hola", "nasilsiniz", "como estas", "estoy muy bien gracias")

Böylesi bir kullanım hata vemeyecektir. Çünkü istediğimiz kadar argüman yazmamız artık mümkün. (*p kullanımı sayesinde bunu başardık).
Not*p  kullanımındaki  p harfi bir array’I temsil ediyor. Ve metodumuzu çağırırken içine yazdığımız her bir argüman bu array’ın bir elementi haline gelecektir ve metodu her çağırışımızda array içerisinde bulunan her bir element için sonuç yazdırılacaktır.
Bu tekniği farklı bir şekilde de kullanabiliriz. Örneğin:

def benMetod (a, b, *c)
#birkaç kod…
End

Buradaki nüans şudur. benMetod’u a ve b gibi iki GEREKLİ parametreye sahiptir (bu iki parametreye kesinlikle argüman verilmelidir) ve diğer yazabileceğimiz Argümanlar ise opsiyoneldir.

Bir örnek daha yapalım.

def sonOrnek (isim, soyIsim, *detayBilgi)
puts "#{isim}, #{soyIsim}, #{detayBilgi}"
end
sonOrnek("ali", "bingo", "ucuncu arguman", "dorduncu arguman", "istedigimiz", "kadar", "arguman", "girebiliriz")#burada (kesinlikle gerekli olan ilk iki argümana ek olarak) çok sayıda kadar argüman girdik.
puts ""
sonOrnek("birinci arg", "ikinci arg") #Burada ise görüldüğü gibi, sadece iki argüman girdik. Üçüncü argüman opsiyonel olduğu için program hatasız çalışıyor.