Ana içeriğe geç
Programlama

R programlama dili yerel boru operatörüne kavuştu

Öne çıkanlar

  • Boru operatörü, 18 Mayıs 2021 tarihinde yayımlanan R 4.1.0 sürümüyle dile yerel olarak dahil edildi.
  • dplyr ve magrittr paketlerindeki %>% sözdizimi, dokuz yıl süren geliştirme adımlarının temelini oluşturdu.
  • Yerel |> operatörü fonksiyon çağrılarında zorunlu parantez kuralı içeriyor ve nokta yer tutucusunu desteklemiyor.

R programlama dilinde kodların art arda zincirlenmesini sağlayan boru (pipe) operatörünün gelişimi, topluluk içi paketlerden R çekirdeğine uzanan dokuz yıllık bir sürecin ardından tamamlandı. Süreç, 2012 yılında Stack Overflow platformunda F# dilindeki ileriye aktarım mekanizmasının R'da nasıl uygulanabileceğine yönelik bir soruyla başladı. Ben Bolker ilk prototipi yazdı, ardından Peter Meilstrup ptools paketinde chain fonksiyonunu hayata geçirdi. Hadley Wickham'ın 2013 yılında dplyr paketine eklediği zincirleme yapısı, Stefan Bache tarafından geliştirilen magrittr paketindeki %>% operatörüyle birleşerek ekosistemde genel kabul gördü.

Boru operatörünün yaygınlaşmasıyla birlikte pipeR ve wrapr gibi alternatif paketler farklı sözdizimi denemeleri sundu. Zaman içinde RStudio geliştirme ortamı Ctrl+Shift+M kısayoluyla bu kullanımı hızlandırdı ve dış paketlere bağımlılığı azaltma ihtiyacı doğdu. Lionel Henry'nin 2016 yılında gündeme getirdiği yerel operatör fikri, Luke Tierney ve Jim Hester gibi çekirdek geliştiricilerin katkılarıyla somutlaştı. 18 Mayıs 2021 tarihinde yayımlanan kararlı R 4.1.0 sürümüyle birlikte |> operatörü dile yerel olarak eklendi.

Yerel |> operatörü, magrittr paketindeki %>% yapısına kıyasla bazı yapısal kurallara dayanıyor. Yeni operatörde sağ taraftaki fonksiyon çağrılarında parantez kullanımı zorunlu tutuluyor ve doğrudan nokta (.) yer tutucusu desteklenmiyor. Geliştiriciler, girdiyi ilk argüman dışındaki alanlara iletmek için R 4.1.0 sürümüyle gelen (x) anonim fonksiyon yapısını tercih ediyor. Dokuz yıllık evrimin sonunda R dili, harici bir kütüphaneye ihtiyaç duymadan modern veri analiz hatlarını destekler hale geldi.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.