Son zamanlarda (arka planım C#) olan F # yi alıyorum ve çok faydalı bulduğum http://fsharpforfunandprofit.com sitesini okuyorum.(Kestrel) K-birleştirici: neden yararlıdır?
Taraklayıcıların bulunduğu bölüm olan http://fsharpforfunandprofit.com/posts/defining-functions/'a sahibim. Kestrel haricinde hepsini (her ne kadar aklımdaki Y birleştiricisi veya Adaçayı kuş vidaları olsa da) anlıyorum. Beni hayat bu yararlı olacağını herhangi bir durum için anlayamıyorum
let K x y = x
: Scott Wlaschin olarak (F #) tanımını verir. İlk başta zincir operatörü olarak kullanılabileceğini düşündüm, böylece bir işleve bir değer iletebilir ve sonra orijinal değeri geri alabilirsin. o zaman geri argüman yok sayar bir fonksiyon olsun biz kısmen (5 değeriyle) K bağdaştırıcının uygularsanız
let (>|) x f = f x; x
: Kendimi daha önce böyle bir operatör yazdım ama gördüğünüz gibi aynı şey değil ve bunun yerine 5 döndürür. Yine, yararlı değil.
(K 5) = fun y -> 5
kimse bana bu lütfen kullanılabilecek nereye kolay bir örnek verebilir misiniz?
en ı işlevlerini haritalayabilirsiniz bir listesi gibi bir yapıya sahip varsayalım:
: Şuna bir bakın: https://en.wikipedia.org/wiki/SKI_combinator_calculus - gerçekten sadece akademik eğlence - F # içinde bazı kullanımlar bulsanız bile, sadece "K" ^^ – Carsten
BTW hemen onu bulamazsanız - 'K' örneğin SKI calculuse booleans, tuples, sayıları, ... gibi şeyleri uygulamak için kullanılır (iyi bir temel yapı taşı;)) - sadece düşünün * İlk bileşen * – Carsten
için bir tür projeksiyon olarak Teşekkürler, ben Vikipedi sayfasını okudum ama zaten sahip olduğumdan daha fazla bilgi vermedi. – Richiban