Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save muratatak77/0965c05900984418efe2 to your computer and use it in GitHub Desktop.
Save muratatak77/0965c05900984418efe2 to your computer and use it in GitHub Desktop.
Assgmnt - 2 (Part 1) (Inheretance , initialize , split )
1. Mercedes ve Ferrari adlı iki sınıfımız olsun. Bu sınıflar, Car sınıfının bütün özelliklere sahip olsun.
2. Mercedes ve Ferrari sınıflarından bir nesne oluşturulurken, otomatik olarak brand alanı ilgili markaya karşılık gelsin.
Örnek:
> m = Mercedes.new
> m.brand
#=> "Mercedes"
**************************************************************************************************************************
class Mercedes < Car
def initialize()
super("Mercedes" ,"2012" , "kırmızı", "1212" , "18000" )
end
end
2.1.1 :086 > m = Mercedes.new
=> #<Mercedes:0x00000001db7800 @brand="Mercedes", @model="2012", @color="kırmızı", @km="1212", @price="18000">
2.1.1 :087 > m.brand
=> "Mercedes"
class Ferrari < Car
def initialize()
super("Ferrari" ,"2012" , "kırmızı", "1212" , "18000" )
end
end
2.1.1 :123 > f = Ferrari.new
=> #<Ferrari:0x00000001e30250 @brand="Ferrari", @model="2012", @color="kırmızı", @km="1212", @price="18000">
2.1.1 :124 > f.brand
=> "Ferrari"
2.1.1 :125 >
**************************************************************************************************************************
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla malesuada laoreet dictum. In vitae massa eget tellus pharetra commodo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec a adipiscing neque. Phasellus vulputate a sapien sit amet semper. Aliquam auctor ligula elementum, venenatis lacus vitae, rutrum nulla. Suspendisse tincidunt dolor non molestie pharetra. Nullam euismod elit eget eros accumsan, a pellentesque diam porttitor. Pellentesque non porta ipsum. Quisque in quam ligula. Vestibulum suscipit arcu porttitor, mattis massa in, semper massa. Duis rhoncus urna et massa placerat, at pharetra enim convallis. Sed a nunc sem. Ut scelerisque nunc quis aliquam consequat. Cras ultricies, mi nec facilisis fringilla, lectus elit pharetra ipsum, vitae fringilla elit mauris tincidunt orci. Curabitur pulvinar sapien in risus pellentesque, et sodales arcu molestie. Aliquam erat nisi, pellentesque at nulla vel, fringilla aliquet lectus. Nullam vel vulputate sapien, id lobortis orci. Morbi in viverra mauris. Nam consectetur urna a erat varius congue. Aenean facilisis tellus eget libero tristique varius. Etiam nisi metus, pretium sed nibh sed, iaculis consequat lorem. Phasellus ornare lacus in lectus aliquet, id tempus dui consectetur. Pellentesque tincidunt nec neque quis pretium. Suspendisse ultricies dignissim enim nec rutrum. Morbi laoreet ipsum eget convallis tempor. Duis aliquam ligula dui, sed interdum dui pharetra a. Nunc imperdiet consequat dolor nec laoreet. Duis tortor nibh, vulputate ac diam sed, malesuada feugiat erat. Integer congue nulla iaculis, hendrerit tortor eu, cursus magna. Nam commodo ultricies eros, eu venenatis ipsum viverra sit amet. Donec ultricies quis nulla vitae gravida. Donec sapien dolor, imperdiet ut ullamcorper eget, rhoncus id odio. Fusce quis euismod justo, ut pretium libero. Donec eget iaculis dui. Praesent in ultrices leo, sed lacinia erat. Praesent tincidunt ante nec quam hendrerit, id imperdiet nulla porttitor. Fusce eu facilisis nisi. Cras in arcu risus. Etiam lobortis dui enim, sed rutrum quam consequat at. Maecenas luctus, odio vitae luctus consequat, neque velit lacinia ligula, et rhoncus elit nisl vitae nisi. Sed euismod purus in justo euismod, eu sollicitudin felis dignissim. Nulla vitae tortor at ipsum ullamcorper scelerisque. Fusce ac commodo leo, suscipit posuere leo. Ut id nunc congue, sollicitudin sapien in, dignissim nisi. Nam quis pretium felis. Integer non magna consequat, dictum nunc vestibulum, luctus orci. Donec luctus fringilla lobortis. Fusce in dapibus mauris. Etiam rutrum sapien nec condimentum facilisis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque tristique quis felis vel cursus. Aenean ultrices in quam tincidunt scelerisque. Suspendisse commodo vulputate sapien, adipiscing tincidunt nunc tempus et. Morbi fermentum suscipit blandit. Ut vel iaculis elit. Mauris vitae sodales nisi. Sed malesuada ipsum vitae mi auctor facilisis. Quisque non neque tortor. Duis eu consectetur nulla. Morbi accumsan dolor vel risus adipiscing ultrices. Morbi non aliquet odio. Morbi dui diam, iaculis non egestas in, sodales ac ipsum. Aliquam fringilla, lorem at mollis ornare, felis quam feugiat dui, ac ultrices nunc ipsum commodo urna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut scelerisque imperdiet ligula sed mattis. Mauris et felis et mauris rhoncus volutpat. Maecenas placerat feugiat velit in laoreet. Praesent molestie pretium arcu vitae pretium. Donec nisl lacus, auctor quis commodo a, semper commodo est. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris nec leo quam. Donec gravida tellus eu arcu imperdiet, a tempus dui ornare. Proin vestibulum pellentesque nunc eu vulputate. Praesent at volutpat urna. Morbi ultricies dignissim tellus quis placerat. Pellentesque eget iaculis tellus, non ornare nibh. Nam laoreet molestie justo a pharetra. Donec vel est felis. Maecenas congue arcu eget nibh aliquam varius. Aenean sollicitudin blandit porta. Sed vitae lobortis nibh. Phasellus ullamcorper convallis odio, nec mattis leo pellentesque nec. Curabitur tincidunt elit neque, in semper ipsum eleifend nec. Etiam id nisl aliquam, vehicula risus eget, lacinia risus. Fusce elementum ipsum lacus. Aenean bibendum auctor luctus. Morbi at felis pulvinar, eleifend nibh ut, venenatis dui. Fusce vitae diam ornare, ullamcorper sapien id, fringilla eros. Nunc rutrum auctor urna, gravida blandit nisi faucibus ut. Pellentesque eget tellus quis sem pellentesque fermentum. Nulla vulputate ultricies cursus. Ut accumsan lorem fringilla arcu feugiat, commodo mollis turpis blandit. Maecenas sit amet tempus massa, ultricies sodales mauris. Vestibulum tristique a leo ut varius. Duis gravida varius diam cursus hendrerit. Nunc et ipsum ultricies, aliquet enim sed, convallis sem. Duis augue orci, cursus tempus urna nec, tristique posuere nisl. Nulla enim risus, fermentum at luctus et, feugiat id mauris. Phasellus quis arcu nisl. Nam tincidunt et elit nec auctor. Donec elementum tincidunt quam a hendrerit. Quisque tincidunt lorem quis nunc semper laoreet. Donec ac volutpat augue, cursus ultrices magna. In nec congue urna."
3a. Bu metinde kaç cümle vardır?
**************************************************************************************************************************
2.1.1 :211 > sentences.split(".").count
=> 105
2.1.1 :212 >
3b. Bu metinde kaç kelime vardır?
**************************************************************************************************************************
2.1.1 :212 > sentences.split(" ").count
=> 770
2.1.1 :213 >
3c. Bu metindeki tüm cümleleri, metindeki sırasını muhafaza etmek şartıyla tersten yazdırınız.
Örnek:
Düz:
Duis augue orci, cursus tempus urna nec, tristique posuere nisl. Nulla enim risus, fermentum at luctus et, feugiat id mauris. Phasellus quis arcu nisl. Nam tincidunt et elit nec auctor. Donec elementum tincidunt quam a hendrerit. Quisque tincidunt lorem quis nunc semper laoreet. Donec ac volutpat augue, cursus ultrices magna. In nec congue urna
Ters:
lsin ereusop euqitsirt ,cen anru supmet susruc ,icro eugua siuD. siruam di taiguef ,te sutcul ta mutnemref ,susir mine alluN . lsin ucra siuq sullesahP . rotcua cen tile te tnudicnit maN . tirerdneh a mauq tnudicnit mutnemele cenoD . teeroal repmes cnun siuq merol tnudicnit euqsiuQ . angam secirtlu susruc ,eugua taptulov ca cenoD . anru eugnoc cen nI
**************************************************************************************************************************
2.1.1 :607 > class Rvrs
2.1.1 :608?> def rvrs(str)
2.1.1 :609?> reverseWord = ""
2.1.1 :610?> splt = str.split(".")
2.1.1 :611?> splitCount = str.split(".").count
2.1.1 :612?> loop = 0
2.1.1 :613?> while loop < splitCount
2.1.1 :614?> reverseWord += splt[loop].strip.reverse + ". "
2.1.1 :615?> loop += 1
2.1.1 :616?> end
2.1.1 :617?> puts reverseWord
2.1.1 :618?> end
2.1.1 :619?> end
2.1.1 :625 > r = Rvrs.new
=> #<Rvrs:0x00000001d76120>
2.1.1 :630 > r.rvrs("Duis augue orci, cursus tempus urna nec, tristique posuere nisl. Nulla enim risus, fermentum at luctus et, feugiat id mauris. Phasellus quis arcu nisl. Nam tincidunt et elit nec auctor. Donec elementum tincidunt quam a hendrerit. Quisque tincidunt lorem quis nunc semper laoreet. Donec ac volutpat augue, cursus ultrices magna. In nec congue urna")
lsin ereusop euqitsirt ,cen anru supmet susruc ,icro eugua siuD. siruam di taiguef ,te sutcul ta mutnemref ,susir mine alluN. lsin ucra siuq sullesahP. rotcua cen tile te tnudicnit maN. tirerdneh a mauq tnudicnit mutnemele cenoD. teeroal repmes cnun siuq merol tnudicnit euqsiuQ. angam secirtlu susruc ,eugua taptulov ca cenoD. anru eugnoc cen nI.
=> nil
2.1.1 :631 >
Yanlız son soruyu anlayamadım.
4. x = [1,2,3,4,5,6,7,8,9,10] olmak üzere x dizisini aşağıdaki şekillerde yazdırınız:
4a. [2,4,6,8,10]
**************************************************************************************************************************
2.1.1 :007 > a.select { |num| num.even? }
=> [2, 4, 6, 8, 10]
2.1.1 :008 >
4b. [1,3,5,7,9]
**************************************************************************************************************************
2.1.1 :008 > a.select { |num| num.odd? }
=> [1, 3, 5, 7, 9]
2.1.1 :009 >
4c. [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
**************************************************************************************************************************
2.1.1 :009 > a.reverse
=> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
2.1.1 :010 >
4d. [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
**************************************************************************************************************************
2.1.1 :122 > x / 2
=> [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
2.1.1 :123 >
4e. [[10], [7, 8, 9], [4, 5, 6], [1, 2, 3]]
**************************************************************************************************************************
2.1.1 :126 > (x / 3).reverse
=> [[10], [7, 8, 9], [4, 5, 6], [1, 2, 3]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment