İlkel Genelci (Generic) Fonksiyonlar
R'nin bazı temel işlevleri, performans nedenleriyle C koduna özel bir erişim tekniği kullanan ilkel (primitive) fonksiyonlarla tanımlanır. if ve for gibi dil öğeleri, + ve $ gibi operatörler ve exp ile sin gibi matematiksel fonksiyonlar ilkel fonksiyonlara örnektir. İlkel fonksiyonlar S3 generics içerir; S3 ilkel generics'lerin tam listesini .S3PrimitiveGenerics (docs) ile bulabilirsin.
Bir S3 generic ilkel olduğunda, metotları bulma arama süreci biraz farklı çalışır. R, normalde olduğu gibi class (docs) kullanarak metot arar, ancak hiçbir şey bulunamazsa, dahili C kodu fonksiyonu çağrılır. (Bunu, hiçbir metot bulunamadığında hata fırlatan normal generics ile karşılaştır.) Bu, bir nesnenin sınıfını geçersiz kılsan bile, uzunluğun hesaplanması gibi temel davranışların bozulmayacağı anlamına gelir.
Bu egzersiz, kursun bir parçasıdır
R'de S3 ve R6 ile Nesne Yönelimli Programlama
Egzersiz talimatları
Sınıfı "hairstylist" olarak geçersiz kılınmış bir liste nesnesi çalışma alanında hair değişkenine atanmıştır.
hair'ın yapısınıstr()(docs) ile görüntüle.- R'nin bildiği tüm S3 ilkel generics'leri listele.
length.hairstylistadlı bir fonksiyonun var olmadığını kontrol etmek içinexists()(docs) fonksiyonunu kullan. Bu fonksiyonun karakter girdi aldığına dikkat et.hairdeğişkenininlength()(docs) değerini hesapla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# View the structure of hair
___
# What primitive generics are available?
___
# Does length.hairstylist exist?
___
# What is the length of hair?
___