infix kullanımı için bir işlev Verilen:`flip` argümanlar
argümanlar bir yardımcı işlevi tanımlayarak saygısız olabilirlet f a b = (a+10, b)
f 4 5
=> (14,5)
4 `f` 5
=> (14,5)
:
let g = flip f
4 `g` 5
=> (15,4)
bu satır içi yapmak mümkün mü ?
4 `flip f` 5
=> parse error on input `f'
4 `(flip f)` 5
=> parse error on input `('
Benim kullanım durumu Control.Arrow.first
olduğunu. Bunun yerine
(+10) `first` (7,8)
(17,8)
I, HaskellWiki article on infix operators detaylandırıldığı gibi
let forwardFirst = flip first
senin 'g' yi tanımladığınıza göre bunu yapmak istemek için durum kullanın. –
Sadece kullanım durumumu ekledim. :) –
Bu sorunuza doğrudan bir cevap değil, ama '(7,8) ve _1% ~ (10)' kullanarak lens olarak yazabilir. Tabii ki, sadece '' & kullanıp '(7,8) ve ilk (10)' olarak yazabilir. Bu istediğin şeye benziyor mu? – snak