Skip to content

mertak/KoansTranslate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EdgeCase Ruby Koans

Ruby Koans sizi aydınlatmak amacıyla yazılmış bir ruby öğrenim formudur . Maksat Ruby dilini, syntax, yapıları, ve bazı yaygın fonksiyonları/kütüphaneleri öğrenmektir. Aynı zamanda sana kültürümüzü de öğreteceğiz. Bir şeyler denemek bizim için yalnızca sözde kavramlar değil bunu seviyoruz. Bu senin alacağın görevlerde de geçerli bu sayede bu dili kullanarak harikalar yaratabilirsin.

Yapı

Koan’ları dosyaların içlerine bölüştürdük, sözlükleri about_hashes.rb içine, modulleri about_modules.rb içine gizledik, vs. Sıralanışlarını path_to_enlightenment.rb içinde görebilirsin.

Her bir Koan senin Ruby bilgini ve kendini biraz daha genişletecektir. Düzeltmen gereken ilk yerde duracak.

Bazı koan’lar basitçe yanlışının yerine doğrusunun yazılmasını bekliyor . Bazılar ise senden kendi cevabını yazmanı. Eğer bir yerde __ metodunu görürsen (iki alt-tire) , bu senin devam etmenin ancak kendi kodunu yazmanla mümkün olabileceğini gösteren bir ipucudur.

Ruby yükleme

Eğer Ruby kurulum dosyanız yoksa daha ayrıntılı yönlendirmeler için:

http://ruby-lang.org/en/downloads/ .

Koans çalıştırmak için ruby ve rake’e ihtiyacın olacak. Yüklemelerin basitçe anlatımı için:

*nix platformları herhangi bir uçbirimde:

[~] $ ruby --version
[~] $ rake --version

Windows komut satırında (cmd.exe)

c:\ruby --version
c:\rake --version

Eğer kurulu halde rake’e sahip değilseniz sadece şunu çalıştırın ‘gem install rake`

Ruby’nin 1.8den daha büyük olan versiyonları uygundur (1.8.6 yakınlarında veya daha yüksek). rake’in herhangi bir versiyonu olur.

Koans Yönetmek

Yalnızca yüklemekle bitmiyor işler, yönlendirmeler de gerekli.

[ruby_koans] $ rake gen                       # koans dizinine yönlendirir

Yeniden yönlendirmeye ihtiyaç duyarsanız bu şimdiki ‘koans’ınızı silecektir,

[ruby_koans] $ rake regen                     # koans dizinine yeniden yönlendirir, orjinali siler

Path To Enlightenment

Testleri rake ile ya da tek tek çalıştırarak deneyebilirsin.(bizim önerdiğimiz yol rake ile çalıştırmanız bu daha fonksiyonel olacaktır).

*nix platformları, koans dizininden

[ruby_koans] $ rake                           # varsayılan hedefi çalıştırır :walk_the_path
[ruby_koans] $ ruby path_to_enlightenment.rb  # basitçe direkt olarak dosya açma

Windowsda da aynı şey

c:\ruby_koans\rake                             # varsayılan hedefi çalıştırır :walk_the_path
c:\ruby_koans\ruby path_to_enlightenment.rb    # basitçe dosyayı çağırdık

Kırmızı, Yeşil, Yeniden-Bak (Red,Green,Refactor)

Bir test sürüşü yapacak olursanız “mantra”nın hep kırmızı yeşil ya da Yeniden-Bak döndürdüğünü görürüz.

Bir başarısızlıktesti yapıp çalıştır (kırmızı), başarılı yap (yeşil), sonra yeniden-bak

(Koda bak ve onu daha iyi yazabilir misin diye düşün). Bu konuda koan’ı çalıştırıp onu yanlış yapmalı (kırmızı), sonra doğrusuna düzeltmeli (yeşil), daha sonra ise

test hakkında sana ne öğretmek istediğini düşün ve kodunu buna göre düzenle

bu sayede iletişimin gücü de artacak (Yeniden-Bak).

İlk çalıştırmanızda şöyle bir çıktı olmalı:

[ ruby_koans ] $ rake
(in /Users/person/dev/ruby_koans)
/usr/bin/ruby1.8 path_to_enlightenment.rb

AboutAsserts#test_assert_truth tamamlanmadı, çok ayıp.

Üstad diyor ki:
Hala aydınlanmaya çalışıyorsun.  

Aradığın cevap bu olmalıydı:
<false> is not true.

Aşağıdaki kod üzerinde çalışmaya devam et:
./about_asserts.rb:10:in `test_assert_truth'
path_to_enlightenment.rb:38:in `each_with_index'
path_to_enlightenment.rb:38

Aşılamayacak dağ yoktur.
önünde uzuun bir yol var [X_________________________________________________] 0/280

İlk aşamayı atladın. Eğer dikkat ettiysen sana ilk cevap için bir de yol gösterici var:

Aşağıdaki kod üzerinde çalışmaya devam et:
./about_asserts.rb:10:in `test_assert_truth'
path_to_enlightenment.rb:38:in `each_with_index'
path_to_enlightenment.rb:38

Bunun üzerine about_asserts.rb dosyasını açıp ilk testimize göz atıyoruz:

# Gerçekliğin kontrolü için doğruluk ya da yanlışlık üzerine
# "asserts" ile düşünmeliyiz.
def test_assert_truth
  assert false                # Burası <true> olmalıydı
end

Daha sonra false’u true yapıp yeniden çalıştırıyoruz. Bunu yaptıktan sonra ne öğrendiğini düşün. Burada metod ismi hariç her şeyi atla (test_assert_truth) metodun içindekiler de dahil (+end+den önceki her şey).

Burada amaç assert metoduna bir değer eklediğinde, onun ne olduğuna karar verecek true ise devam et ya da cevabın false ise başarısızlığa uğrat.

İlham

Bu projeye ilham verdikleri için Mike Clark ve Ara Howard’a özel teşekkürlerimizi sunarız. Mike Clark Ruby testleri ile öğretme konusunda muhteşem bir blog gönderisi yayınladı. Bu fikrimizi biraz daha pekiştirmemize yol açtı, yeni Rubycileri topluluğumuza bu testler ile dahil edebilecektik. Ara Howard ruby quiz girisinde bize koans için Meta Koans(kendini geliştirmek isteyen her ruby programcısı için bir zorunluluktur) üzerindebir fikir verdi .

Ayrıca, "The Little Lisper" bize kısa sorular/basit cevapların öğrenilme biçimi konusunda yol gösterdi.
Mike Clark’ın gönderisi

www.clarkware.com/cgi/blosxom/2005/03/18

Meta Koans

rubyquiz.com/quiz67.html

The Little Lisper

www.amazon.com/Little-LISPer-Third-Daniel-Friedman/dp/0023397632

Diğer Kaynaklar

Ruby Dili

ruby-lang.org

Tarayıcınızda Ruby Deneyin

tryruby.org

Dave Thomas’ın Ruby’e giriş için yazdığı Ruby Programming Ruby (the Pick Axe)

pragprog.com/titles/ruby/programming-ruby

Brian Marick’ın yeni başlayanlar için fantastik önerileri Everyday Scripting with Ruby

pragprog.com/titles/bmsft/everyday-scripting-with-ruby

Diğer şeyler

Yazar

Jim Weirich <jim@weirichhouse.org>

Yazar

Joe O’Brien <joe@edgecase.com>

Issue Tracker

www.pivotaltracker.com/projects/48111

Gereksinimler

Ruby 1.8.x or later and Rake (any recent version)

Lisans

RubyKoans is released under a Creative Commons, Attribution-NonCommercial-ShareAlike, Version 3.0 (creativecommons.org/licenses/by-nc-sa/3.0/) License.

About

RubyKoans kaynak kod çevirisi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages