BaşlayınÜcretsiz başlayın

Sınıflı Yap (1)

class() işlevi yalnızca sınıfı almak için değil, aynı zamanda onu değiştirmek için de kullanılabilir. Sözdizimi şöyle:

class(x) <- "some_class"

Bu özellikle listeler için kullanışlıdır; çünkü listeler, diğer değişkenleri birleştirerek daha karmaşık değişkenler oluşturmakta kullanılabilir. (Lego benzetmesini hatırla: tek tek değişkenler Lego parçaları gibidir ve listeleri kullanarak istediğin yapıyı kurabilirsin.)

Bu egzersizde, bir satranç oyununun durumunu saklayan bir nesneye bakacak ve sınıfını değiştireceksin.

Egzersizin anlamlı olması için satranç hakkında biraz bilgiye ihtiyacın var.

  • Bir satranç oyununda "beyaz" ve "siyah" adlı iki oyuncu vardır.
  • Her oyuncunun altı tür taşı vardır: şah, vezir, filler, atlar, kaleler ve piyonlar.
  • Her taşın konumu satır ("a" ila "h") ve sütun (1 ila 8) ile kaydedilebilir.

Bu egzersiz, kursun bir parçasıdır

R'de S3 ve R6 ile Nesne Yönelimli Programlama

Kursa Göz Atın

Egzersiz talimatları

chess adlı liste değişkeni çalışma alanında önceden tanımlandı.

  • Yapısını anlamak için chess nesnesini incele.
  • chess'in sınıfını "chess_game" olacak şekilde değiştir.
  • chess'in hâlâ bir liste olup olmadığını is.list() (docs) ile kontrol et.
  • Tahtada kalan taşların sayısını belirle.
    • İyi bir yaklaşım, nesneyi unlist() (docs) ile düzleştirip length() (docs) değerini döndürmektir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Explore the structure of chess
str(chess)

# Override the class of chess
___ <- ___

# Is chess still a list?
___

# How many pieces are left on the board?
___
Kodu Düzenle ve Çalıştır