/i/Yazılım

Umuyoruz ki geleceğin yazılımcıları bu altinciden çıkacak!
  1. 5.
    0
    siz biliyonuz bu işleri
    ···
  2. 4.
    0
    anasini gibtigimin yeri kafasina gore kesip biciyo yazdiklarimizi. suraya attim https://pastebin.com/aYSaZfBG std yi import etmeyi de unutma.
    ···
    1. 1.
      +1
      Panpa güzel ama regex yanlış gibi. Dahası sadece ilk karakterde değil tüm karakterlerde kontrol ediyor yani buna göre 0#1 legal oluyor.
      ···
      1. 1.
        0
        dogru basina ^ gelecek ^($|#)|$[0-9]+
        ···
  3. 3.
    0
    Takma kafana geçer be kız mı yok sana olum
    ···
  4. 2.
    +2
    (vid: )
    ···
    1. 1.
      0
      Panpa editlemeden önce yazdığın çözüm çok mantıklıydı, daha iyisini bulana kadar bu işime yarar şuku.
      ···
      1. 1.
        0
        xd xd xd
        ···
  5. 1.
    +3 -1
    Merhaba panpalarım,

    Daha önce AVR için bytecode interpreted bir dil yazdığımdan bahsetmiştim, Assembler'ın kodunda ufak bir sıkıntı yaşadım.

    Bahsettiğim kod şu:
    https://hastebin.com/umucubebaj.cpp

    Ne işe yaradığına gelirsek:
    Bu fonksiyonu komutları işlerken çağıracağım, örneğin MOVE BYTE 0 #10 komutunu işlerken çağırdığımda "0"ı TYPE_IMM olarak, "#10"u TYPE_MEM olarak döndürmesini istiyorum.

    Yani sırasıyla get_type("0") ve get_type("#10") olarak iki çağrı yapıldığında fonksiyon sırasıyla TYPE_IMM ve TYPE_MEM olarak değer döndürmeli.

    Kısacası sayının başında # veya $ varsa TYPE_MEM, yoksa TYPE_IMM döndürmesini istiyorum.

    Buraya kadar sorun yok, mesele hata kontrolünde. Eğer MOVE BYTE 0 $iNCi ya da MOVE BYTE SERKAN #0 yazarsam ne olacak?

    Bunun için anlayacağınız üzere stringi sayılar harici bir şey bulması için taratıyorum fakat aynı kodu iki kere kullanmak güzel görünmüyor.

    Fonksiyonun yaptığı basit, eğer ilk karakter harici karakterlerin tamamı rakamsa ve ilk karakter # veya $ ise TYPE_MEM döndürüyor, bu koşul sağlanmazsa ve karakterlerin tamamı rakamsa TYPE_IMM döndürüyor, bu koşul da sağlanmazsa derleme hatası veriyor.

    Fakat taramayı iki defa yapmam gibi sebeplerden bir türlü hoşuma gitmedi. Bunu nasıl daha güzel ve düzgün görünecek şekilde yazarım?
    ···