Sunday, August 7, 2022

Dart Ders Notlarım 13: String'i Yakından Tanıyalım

 

Dart Ders Notlarım 13: String'i Yakından Tanıyalım


void main() {

  /*  Arkadaşler bu derste string tipinin özellik ve metodlarına bakalım.

  değişkenadı.özellik olursa bu şekilde.

  değişkenadi.metod() olursa bu şekilde gözüküyor.

  sonda parantez aç kapa varsa metod yoksa özellik oluyor.  

  ozellik diye bir değişken tanımlayıp özelliklerine bakalım.

  sonra da metod diye bir değişken tanımlayıp metodlara bakalım */


  //değiken tanımladık.

  String ozellik = "Özellik";


  //dolar ve süslü parantez içinde değişkenden sonra nokta koyup yazdığımız

  //özelliğe bakıyoruz.


  print("değikenimizin değeri => $ozellik");


  print("değişkenimizin uft-16 kodu. => ${ozellik.codeUnits}");


  print("değişkenimizin karma bir kodu.  => ${ozellik.hashCode}");


  print("değişkenimiz boş mu => ${ozellik.isEmpty}");


  print("değişkenimiz dolu mu => ${ozellik.isNotEmpty}");


  print("değişkenimizin uzunluğu  => ${ozellik.length}");


  print("değişkenimizin yenilenebilir UFT 16 Çıkıtısı. => ${ozellik.runes}");


  print("değişkenimizin tipi  => ${ozellik.runtimeType}");


  /*bütün üstteki ve alttaki işlemleri print içinde değişkenin özelliğini yazdırmak

  için yapabildiğimiz gibi yeni bir değişken tanımlarken direkt bu özellikleri

  kullnabiliriz de. bir tanesinin örneğini göstereyim. diğerleri aynı olacak zaten.

  yeni diye bir değişken tanımlarken içerisine değerini tanımladığımız satırda 

  veriyoruz şöyle ki yeni değer başka bir değişkenin bir özelliği. tipini int yaptık 

  çünkü ozellik isimli değişkenin uzunluk özelliğini alacağımız için oda tam

  sayı olacağı için bu veriyi int te tutmamız gerekir. */


  //ozellik isimli değişkenin uzunluğunu bulup yeni değişkenine değer olarak

  //atadık

  int yeni = ozellik.length;


  //yeni değişkenin değerini ekrana yazdık. tabi ki 7 sonucunu verecek.

  //çünkü başka bir değişkenin değerinin uzunluğu (özellik) olduğu için oda 7 dir.

  print("yeni isimli değişkenimizin değeri => $yeni");


  String metod = "Metod";


  /* metod.contains(other) şeklinde kullanılır. other yerine karakter veya dizi

  girilebilir. değişkenin içinde karakter veya dizi var mı yok mu diye sorar

  ve bunu true yada false olarak döner.

  Birde index içinde kontrol yapabiliyor. kelimenin şu sırasında şu karakter

  var mı diye? ikinci printte kullanımı var. */

  print("değişkenimizde M harfi var mı ? => ${metod.contains("M")}");

  print("0.indexinde M harfi var mı ? => ${metod.contains("M", 0)}");

  print("değişkenimizde tod dizisi var mı ? => ${metod.contains("tod")}");

  print("değişkenimizde x harfi var mı ? => ${metod.contains("x")}");


  /*  metod.replaceAll(from, replace) şeklinde kullanılıyor. değişken değerinde

  karakter veya dizi olarak değişiklik yapmamıza olanak tanır. 

  from yerine dizindeki karakter veya dizi, replace yerine ise yeni değer girilir.

  aslında excell de bul değiştiri biliyorsanız onunla aynı. bu metod kelimedeki

  bütün harfleri değişir. kaçtane varsa. diyelim sadece ilk karakteri değişecem.

  bunun bir yolu yok mu? tabi ki var. metod2 yi yapalım. aynı karakterden

  2 adet lazım bize farkı görelim. diye;

  metod2.replaceFirst(from, to) birde bu şekilde kullanımı var. 

  */

  print("Büyük M harfini küçük m yapalım => ${metod.replaceAll("M", "m")}");

  print("Büyük Me harflerini x yapalım => ${metod.replaceAll("Me", "x")}");

  String metod2 = "Off ne güzel kod";

  print("f yi x yap diyelim=> ${metod2.replaceFirst("f", "x")}");

  //üst satırda f yi x yap dedik. program sadece ilk f yi x yaptı. first özelliği

  //bu şekilde. all deseydik iki f de x olacaktı.

  //birde istediğimiz index te değişiklik yapabiliriz.Ona bakalım. sona index

  //ekleyeceğiz sadece. 2. f'yi x yapacağız. 2.f 2.indexte olduğu için 2 ekliyoruz.

  print("sadece 2. f'yi x yap.=> ${metod2.replaceFirst("f", "x", 2)}");


  /*  metod.replaceRange(start, end, replacement) birde bu şekilde kullanımı var.

 burada ise ilk ve son indeks dahil aradaki diziyi komple değiştiriyor.şimdi 

 buna bir örnekle bakalım. 

  */

  String uzunCumle = "Uzun bir cümle";

  String yeniHali = uzunCumle.replaceRange(5, 8, "iki");

  print(yeniHali);

  /*burda önce bir string uzunCumle tanımladık ve bir metin aktardık ona.

  sonra yeniHali diye bir string tanımlayıp hemen orada değerini uzunCumle

  den metodla almasını tembihledik. replaceRange den sonra ilk index 

  değişim başlayacağı son index ise biteceği yer. yani 5 ile 8. sonrada orayı

  hangi kelime ile değişeceğiz onu yazdık.Uzun bir cümle de bir kelimesini

  iki yapmak için bu değerleri girdik. 0 ile kelimeleri saymaya başladık. 

  5 b harfi başlıyor 8 ile de r harfinden sonraki boşluk geliyor. o arayı 

  yani bir kelimesini iki ile değiştirdik.*/


  /*  birKelime.indexOf(pattern) bu metod ise pattern kısmına

  karakter veya dizi olarak ne  girersek ilk rastladığı yerde bize o index

  numarasını dönüyor.

  ilkinde i harfini girdik. ilk i harfi index kelimesinde geçtiği için 

  sıfırdan başlayıp cümleyi sayıyor ve o i harfi 9. sırada yer aldığı için

  bize dokuz değerini dönüyor.

  diğer printte ise of kelimesini girdik. ilk of ile karşılaştığı index 15 

  olduğu için çıktı olarak 15 dönüyor.

  eğer olmayan bir değer sorgularsak -1 dönecektir. yani yok anlamında.*/

  String birKelime = "Bu cümle index of için kuruldu.";

  print(birKelime.indexOf("i")); //9

  print(birKelime.indexOf("of")); //15


  /*bu bulma işlemini bir de tersten başlama durumu var. onda da 

  print(birKelime.lastIndexOf(pattern)); kullanılıyor. yine aynı değerleri

  aratalım. bakalım sondan bakınca dizin sıralamaları kaç çıkacak.*/

  print(birKelime.lastIndexOf("i")); //20

  print(birKelime.lastIndexOf("of")); //15

  //arkaşdaşlar çok entresan bir şey oldu. ayarlamadan etmeden of kelimesinin

  //o harfi iki taraftanda 15. sırada... ilginç bir olay. sizinde dikkatinizi

  //çekmiş olabilir.


  /*

  yasla.padLeft(width)

  yasla.padRight(width)

  şimdi de sağa ve sola yaslama gibi ama girdiğimiz değer kadar yaslama işlemini

  yapan metodlara bakalım. değeri widht yazan yere gireceğiz.

  soldan direkt boşluk atarsınız ama sağdan vermek için

  ikinci cümleyi kullanacağız.

   */

  String yasla = "bu cümle sağa sola yaslanacak";

  print(yasla.padLeft(50));

  String yeniYasla = yasla.padRight(60) + "ilk cümle, boşluk, sonra bu cümle";

  print(yeniYasla);


  /*yasla.split("pattern")

  split metodunda da pattern içine yazdığımız değer ne ise onunla cümlemizi

  bölüyor. örneğin boşluk olur. nokta olur. iki nokta üstüste olur. döküman

  çalışmalrında çok işe yarar.

  */

  yasla = "boşluklardan ayrılacak bu cümle o şekilde çıktı verilecek";

  print(yasla.split(" ")); //boşuk verdim.kelime kelime ayrım yapacak.

  //[boşluklardan, ayrılacak, bu, cümle, o, şekilde, çıktı, verilecek]

  yasla = "karakalem";

  print(yasla.split("")); //boşluk dahi vermedim. harf harf ayıracak.

  //[k, a, r, a, k, a, l, e, m]


  String mesaj = "merhaba dostlar";

  /* mesaj.substring(start); burda ise başlangıç değeri veriyoruz.

  verdiğimiz değerden itibaren çıktıyı alıyoruz.

  ikinci yolda ise başlangıç ve bitiş değeri verebiliyoruz. */

  print(mesaj.substring(7)); //dostlar

  //0 dan başlayıp 7 karakter gidersek geriye dostlar kalır.

  print(mesaj.substring(0, 7)); //merhaba.

  //0 ile 7 arası gelicek.


  //metinleri komple küçük ve büyük harfe çevirmek için iki metodumuz var.

  // mesaj.toLowerCase(); bu metni tamamını küçük harfe dönüştürür.

  print(mesaj.toLowerCase());

  //mesaj.toUpperCase();bu metni tamamını büyük harfe dönüştürür.

  print(mesaj.toUpperCase());


  //mesaj.trim(); kırpma işlemleri için kullanılan metod.

  //metnin başında ve sonundaki boşluk karakterlerini silmeye yarar.

  //bunun için yeni bir değişken tanımlayıp işlem yapalım.


  String boslukluYazi = "    basta ve sonda 4 bosluk var    ";

  print(boslukluYazi); // ilk haliyle yazdık.


  //şimdi kırpıp öyle yazalım.

  print('iki yönden kırpılmış hali>${boslukluYazi.trim()}');


  //bunun birde sağ sol olayı var. sağ sondaki sol ise baştaki boşlukları sil demek.

  //hemen bakalım.

  print('sol taraf kırpılmış >${boslukluYazi.trimLeft()}');

  print('sağ taraf kırpılmış >${boslukluYazi.trimRight()}');


  //birde başta ve sonda bir karakterin olup olmadığını kontrol eden

  //başta bakmak için deneme.startsWith("d"); metodumuz var.

  //başta bakmak için deneme.endsWith("a");

  //karakter yerine dizide girebiliriz.

  //kontrolü yapıp true veya false olarak geri bildirim yapıyor.

  String deneme = "deneme yazısı";

  print(deneme.startsWith("d")); //true

  print(deneme.endsWith("a")); //false

  print(deneme.startsWith("me", 4)); //true

  //bu üstteki gibi de bir kullanmı var. virgül atıp index girince

  //o index me ile başlıyor mu diye kontrol sağlayabiliyoruz.


  /* son olarak  balik.compareTo(other); bakıcaz.

  compare dizileri karşılaştırıp bize durum bilgisi dönüyor. döndüğü bilgi

  alfabetik olarak büyüklük bilgisi aslında. burda da üç değer dönüyör. 

  değişken değerimiz büyükse 1 eşitse 0 küçükse -1 değerini dönüyor. 

  aşağıda hem alfabetik hemde sayısal string örnekleri yaptım. Daha iyi anlayalıö

  diye. herşeye alfabetik olarak bakıyor. alfabetikte büyüklük z harfine doğru artar.

   */

  String balik = "bababalık";

  print(balik.compareTo('alabalık')); //1

  print(balik.compareTo('bababalık')); //0

  print(balik.compareTo('zargana')); //-1


  String numara = "2";

  print(numara.compareTo('1')); //1

  print(numara.compareTo('2')); //0

  print(numara.compareTo('3')); //-1


  /*şimdi buraya kadar string veri tipi için özellik ve metodların neredeyse

  tamamına yakınına en az bir yönüyle bakmış olduk. bunları ezbelemek gerekmez.

  en azından nelerin yapılabilir olduğunu hatırlamamız bize yeterli olacaktır.

  dart core'u açıp string için tıklarsanız nasıl kullanıldığını hemen görebilir

  siniz. veya o sayfayı kendiniz için türkçeye çevirip baş ucunuza alır

  lazım oldukça hatırlamak babında bakabilirsiniz.

  ben ezbere karşı biriyim. özellikle syntax dediğimiz kodların yazımlarını

  nokta virgül parantez vb. hiç ezberlemeye gerek yok. yapa yapa iyi kötü

  öğrenilecek zaten. neyin nasıl olabileceğinin çıkarımını yapabilmek işte bütün

  mesele burada zaten. istenen bir probleme çözüm üretebileceğimizi kestirebiliyor

  isek olay bitmiştir zaten. böyle bir metod vardı diye hatırladınız mı gidip

  metodlara bakarak noktasına virgülüne kadar görüp çözüm ürettiniz mi tamamdır.

  biz pc hafızası yada hafıza kartı değiliz ki her şeyi hafızamızda tutalım. bizim

  en iyi yapacağımız şey neyin nasıl olabilirliğini bulmak. bundan sonra küçük bir

  araştırma ve boom kodu yazarsın ve iş biter :)


  Normalde de yaptığımız bu değil mi? bir şeyin var olduğunu hatırlamak yeterli.

  önemli olan da o zaten. Direkt aklına gelirse yaparsın. gelmez ise google dayıya

  sorarsın. hatta var olup olmadığını da sorarsın icabında oda ayıp değildir.

  öğrenmemek ayıptır. :) burada bizim vurguladığımız mesele kuru ezber olmaması.

  

  (https://api.dart.dev/stable/2.17.1/dart-core/String-class.html)

  bu link direkt string için nelerin var olduğunu gösteriyor. diğer her şeyin

  detayına bakabilirsiniz.

      */

}

void main() {
  /*  Arkadaşler bu derste string tipinin özellik ve metodlarına bakalım.
  değişkenadı.özellik olursa bu şekilde.
  değişkenadi.metod() olursa bu şekilde gözüküyor.
  sonda parantez aç kapa varsa metod yoksa özellik oluyor.  
  ozellik diye bir değişken tanımlayıp özelliklerine bakalım.
  sonra da metod diye bir değişken tanımlayıp metodlara bakalım */

  //değiken tanımladık.
  String ozellik = "Özellik";

  //dolar ve süslü parantez içinde değişkenden sonra nokta koyup yazdığımız
  //özelliğe bakıyoruz.

  print("değikenimizin değeri => $ozellik");

  print("değişkenimizin uft-16 kodu. => ${ozellik.codeUnits}");

  print("değişkenimizin karma bir kodu.  => ${ozellik.hashCode}");

  print("değişkenimiz boş mu => ${ozellik.isEmpty}");

  print("değişkenimiz dolu mu => ${ozellik.isNotEmpty}");

  print("değişkenimizin uzunluğu  => ${ozellik.length}");

  print("değişkenimizin yenilenebilir UFT 16 Çıkıtısı. => ${ozellik.runes}");

  print("değişkenimizin tipi  => ${ozellik.runtimeType}");

  /*bütün üstteki ve alttaki işlemleri print içinde değişkenin özelliğini yazdırmak
  için yapabildiğimiz gibi yeni bir değişken tanımlarken direkt bu özellikleri
  kullnabiliriz de. bir tanesinin örneğini göstereyim. diğerleri aynı olacak zaten.
  yeni diye bir değişken tanımlarken içerisine değerini tanımladığımız satırda
  veriyoruz şöyle ki yeni değer başka bir değişkenin bir özelliği. tipini int yaptık
  çünkü ozellik isimli değişkenin uzunluk özelliğini alacağımız için oda tam
  sayı olacağı için bu veriyi int te tutmamız gerekir. */

  //ozellik isimli değişkenin uzunluğunu bulup yeni değişkenine değer olarak
  //atadık
  int yeni = ozellik.length;

  //yeni değişkenin değerini ekrana yazdık. tabi ki 7 sonucunu verecek.
  //çünkü başka bir değişkenin değerinin uzunluğu (özellik) olduğu için oda 7 dir.
  print("yeni isimli değişkenimizin değeri => $yeni");

  String metod = "Metod";

  /* metod.contains(other) şeklinde kullanılır. other yerine karakter veya dizi
  girilebilir. değişkenin içinde karakter veya dizi var mı yok mu diye sorar
  ve bunu true yada false olarak döner.
  Birde index içinde kontrol yapabiliyor. kelimenin şu sırasında şu karakter
  var mı diye? ikinci printte kullanımı var. */
  print("değişkenimizde M harfi var mı ? => ${metod.contains("M")}");
  print("0.indexinde M harfi var mı ? => ${metod.contains("M", 0)}");
  print("değişkenimizde tod dizisi var mı ? => ${metod.contains("tod")}");
  print("değişkenimizde x harfi var mı ? => ${metod.contains("x")}");

  /*  metod.replaceAll(from, replace) şeklinde kullanılıyor. değişken değerinde
  karakter veya dizi olarak değişiklik yapmamıza olanak tanır.
  from yerine dizindeki karakter veya dizi, replace yerine ise yeni değer girilir.
  aslında excell de bul değiştiri biliyorsanız onunla aynı. bu metod kelimedeki
  bütün harfleri değişir. kaçtane varsa. diyelim sadece ilk karakteri değişecem.
  bunun bir yolu yok mu? tabi ki var. metod2 yi yapalım. aynı karakterden
  2 adet lazım bize farkı görelim. diye;
  metod2.replaceFirst(from, to) birde bu şekilde kullanımı var.
  */
  print("Büyük M harfini küçük m yapalım => ${metod.replaceAll("M", "m")}");
  print("Büyük Me harflerini x yapalım => ${metod.replaceAll("Me", "x")}");
  String metod2 = "Off ne güzel kod";
  print("f yi x yap diyelim=> ${metod2.replaceFirst("f", "x")}");
  //üst satırda f yi x yap dedik. program sadece ilk f yi x yaptı. first özelliği
  //bu şekilde. all deseydik iki f de x olacaktı.
  //birde istediğimiz index te değişiklik yapabiliriz.Ona bakalım. sona index
  //ekleyeceğiz sadece. 2. f'yi x yapacağız. 2.f 2.indexte olduğu için 2 ekliyoruz.
  print("sadece 2. f'yi x yap.=> ${metod2.replaceFirst("f", "x", 2)}");

  /*  metod.replaceRange(start, end, replacement) birde bu şekilde kullanımı var.
 burada ise ilk ve son indeks dahil aradaki diziyi komple değiştiriyor.şimdi
 buna bir örnekle bakalım.
  */
  String uzunCumle = "Uzun bir cümle";
  String yeniHali = uzunCumle.replaceRange(5, 8, "iki");
  print(yeniHali);
  /*burda önce bir string uzunCumle tanımladık ve bir metin aktardık ona.
  sonra yeniHali diye bir string tanımlayıp hemen orada değerini uzunCumle
  den metodla almasını tembihledik. replaceRange den sonra ilk index
  değişim başlayacağı son index ise biteceği yer. yani 5 ile 8. sonrada orayı
  hangi kelime ile değişeceğiz onu yazdık.Uzun bir cümle de bir kelimesini
  iki yapmak için bu değerleri girdik. 0 ile kelimeleri saymaya başladık.
  5 b harfi başlıyor 8 ile de r harfinden sonraki boşluk geliyor. o arayı
  yani bir kelimesini iki ile değiştirdik.*/

  /*  birKelime.indexOf(pattern) bu metod ise pattern kısmına
  karakter veya dizi olarak ne  girersek ilk rastladığı yerde bize o index
  numarasını dönüyor.
  ilkinde i harfini girdik. ilk i harfi index kelimesinde geçtiği için
  sıfırdan başlayıp cümleyi sayıyor ve o i harfi 9. sırada yer aldığı için
  bize dokuz değerini dönüyor.
  diğer printte ise of kelimesini girdik. ilk of ile karşılaştığı index 15
  olduğu için çıktı olarak 15 dönüyor.
  eğer olmayan bir değer sorgularsak -1 dönecektir. yani yok anlamında.*/
  String birKelime = "Bu cümle index of için kuruldu.";
  print(birKelime.indexOf("i")); //9
  print(birKelime.indexOf("of")); //15

  /*bu bulma işlemini bir de tersten başlama durumu var. onda da
  print(birKelime.lastIndexOf(pattern)); kullanılıyor. yine aynı değerleri
  aratalım. bakalım sondan bakınca dizin sıralamaları kaç çıkacak.*/
  print(birKelime.lastIndexOf("i")); //20
  print(birKelime.lastIndexOf("of")); //15
  //arkaşdaşlar çok entresan bir şey oldu. ayarlamadan etmeden of kelimesinin
  //o harfi iki taraftanda 15. sırada... ilginç bir olay. sizinde dikkatinizi
  //çekmiş olabilir.

  /*
  yasla.padLeft(width)
  yasla.padRight(width)
  şimdi de sağa ve sola yaslama gibi ama girdiğimiz değer kadar yaslama işlemini
  yapan metodlara bakalım. değeri widht yazan yere gireceğiz.
  soldan direkt boşluk atarsınız ama sağdan vermek için
  ikinci cümleyi kullanacağız.
   */
  String yasla = "bu cümle sağa sola yaslanacak";
  print(yasla.padLeft(50));
  String yeniYasla = yasla.padRight(60) + "ilk cümle, boşluk, sonra bu cümle";
  print(yeniYasla);

  /*yasla.split("pattern")
  split metodunda da pattern içine yazdığımız değer ne ise onunla cümlemizi
  bölüyor. örneğin boşluk olur. nokta olur. iki nokta üstüste olur. döküman
  çalışmalrında çok işe yarar.
  */
  yasla = "boşluklardan ayrılacak bu cümle o şekilde çıktı verilecek";
  print(yasla.split(" ")); //boşuk verdim.kelime kelime ayrım yapacak.
  //[boşluklardan, ayrılacak, bu, cümle, o, şekilde, çıktı, verilecek]
  yasla = "karakalem";
  print(yasla.split("")); //boşluk dahi vermedim. harf harf ayıracak.
  //[k, a, r, a, k, a, l, e, m]

  String mesaj = "merhaba dostlar";
  /* mesaj.substring(start); burda ise başlangıç değeri veriyoruz.
  verdiğimiz değerden itibaren çıktıyı alıyoruz.
  ikinci yolda ise başlangıç ve bitiş değeri verebiliyoruz. */
  print(mesaj.substring(7)); //dostlar
  //0 dan başlayıp 7 karakter gidersek geriye dostlar kalır.
  print(mesaj.substring(0, 7)); //merhaba.
  //0 ile 7 arası gelicek.

  //metinleri komple küçük ve büyük harfe çevirmek için iki metodumuz var.
  // mesaj.toLowerCase(); bu metni tamamını küçük harfe dönüştürür.
  print(mesaj.toLowerCase());
  //mesaj.toUpperCase();bu metni tamamını büyük harfe dönüştürür.
  print(mesaj.toUpperCase());

  //mesaj.trim(); kırpma işlemleri için kullanılan metod.
  //metnin başında ve sonundaki boşluk karakterlerini silmeye yarar.
  //bunun için yeni bir değişken tanımlayıp işlem yapalım.

  String boslukluYazi = "    basta ve sonda 4 bosluk var    ";
  print(boslukluYazi); // ilk haliyle yazdık.

  //şimdi kırpıp öyle yazalım.
  print('iki yönden kırpılmış hali>${boslukluYazi.trim()}');

  //bunun birde sağ sol olayı var. sağ sondaki sol ise baştaki boşlukları sil demek.
  //hemen bakalım.
  print('sol taraf kırpılmış >${boslukluYazi.trimLeft()}');
  print('sağ taraf kırpılmış >${boslukluYazi.trimRight()}');

  //birde başta ve sonda bir karakterin olup olmadığını kontrol eden
  //başta bakmak için deneme.startsWith("d"); metodumuz var.
  //başta bakmak için deneme.endsWith("a");
  //karakter yerine dizide girebiliriz.
  //kontrolü yapıp true veya false olarak geri bildirim yapıyor.
  String deneme = "deneme yazısı";
  print(deneme.startsWith("d")); //true
  print(deneme.endsWith("a")); //false
  print(deneme.startsWith("me", 4)); //true
  //bu üstteki gibi de bir kullanmı var. virgül atıp index girince
  //o index me ile başlıyor mu diye kontrol sağlayabiliyoruz.

  /* son olarak  balik.compareTo(other); bakıcaz.
  compare dizileri karşılaştırıp bize durum bilgisi dönüyor. döndüğü bilgi
  alfabetik olarak büyüklük bilgisi aslında. burda da üç değer dönüyör.
  değişken değerimiz büyükse 1 eşitse 0 küçükse -1 değerini dönüyor.
  aşağıda hem alfabetik hemde sayısal string örnekleri yaptım. Daha iyi anlayalıö
  diye. herşeye alfabetik olarak bakıyor. alfabetikte büyüklük z harfine doğru artar.
   */
  String balik = "bababalık";
  print(balik.compareTo('alabalık')); //1
  print(balik.compareTo('bababalık')); //0
  print(balik.compareTo('zargana')); //-1

  String numara = "2";
  print(numara.compareTo('1')); //1
  print(numara.compareTo('2')); //0
  print(numara.compareTo('3')); //-1

  /*şimdi buraya kadar string veri tipi için özellik ve metodların neredeyse
  tamamına yakınına en az bir yönüyle bakmış olduk. bunları ezbelemek gerekmez.
  en azından nelerin yapılabilir olduğunu hatırlamamız bize yeterli olacaktır.
  dart core'u açıp string için tıklarsanız nasıl kullanıldığını hemen görebilir
  siniz. veya o sayfayı kendiniz için türkçeye çevirip baş ucunuza alır
  lazım oldukça hatırlamak babında bakabilirsiniz.
  ben ezbere karşı biriyim. özellikle syntax dediğimiz kodların yazımlarını
  nokta virgül parantez vb. hiç ezberlemeye gerek yok. yapa yapa iyi kötü
  öğrenilecek zaten. neyin nasıl olabileceğinin çıkarımını yapabilmek işte bütün
  mesele burada zaten. istenen bir probleme çözüm üretebileceğimizi kestirebiliyor
  isek olay bitmiştir zaten. böyle bir metod vardı diye hatırladınız mı gidip
  metodlara bakarak noktasına virgülüne kadar görüp çözüm ürettiniz mi tamamdır.
  biz pc hafızası yada hafıza kartı değiliz ki her şeyi hafızamızda tutalım. bizim
  en iyi yapacağımız şey neyin nasıl olabilirliğini bulmak. bundan sonra küçük bir
  araştırma ve boom kodu yazarsın ve iş biter :)

  Normalde de yaptığımız bu değil mi? bir şeyin var olduğunu hatırlamak yeterli.
  önemli olan da o zaten. Direkt aklına gelirse yaparsın. gelmez ise google dayıya
  sorarsın. hatta var olup olmadığını da sorarsın icabında oda ayıp değildir.
  öğrenmemek ayıptır. :) burada bizim vurguladığımız mesele kuru ezber olmaması.
 
  (https://api.dart.dev/stable/2.17.1/dart-core/String-class.html)
  bu link direkt string için nelerin var olduğunu gösteriyor. diğer her şeyin
  detayına bakabilirsiniz.
      */
}






Share This

0 comments:

Soru, Görüş, Öneri ve Eklemek İstediklerinizi Yazabilirsiniz...