Archive for July, 2007

ruby ceasar cipher

geçen gün ruby dökümanlarını karıştırmıştım. kendimi biraz yeterli hissetmeye başladım. bugun lab’da kubilay metine ruby’i anlatırken ceasar şifresini tek satır kod ile yazdım dedi, ben de özendim uğraştım eve gelince. ufak bi hile ile de olsa tek satırda şöyle bir şey oluyor:

gets.chop!.each_byte{|i| i=(i+29).modulo(29)+97; print i.chr}

gets kullanıcıya metin girişi yaptırtıyor.
chop string’in sonundaki satırsonu siliyor.
each_byte stringler için bir yineleyici. burda her seferinde her karakteri i’ye atıyor.
modulo mod alma methodu.
i.chr ise i tamsayısının karşılık geldiği karakteri temsil ediyor.

bu satırın içinde metnin kaç harf kaydıralacağını almayı beceremedim, 29′a eşitledim şimdilik, ama uğraşmaya devam ediyorum. :)


Etiketler: ,