내가 x
이 y
때 z
으로 값 x
을 교체하고, 그렇지 않으면 아무것도 할 수있는 기능을 생각하고, 즉 :"replace-if"를 수행하는 가장 좋은 방법은 무엇입니까?
\x -> if x == y then z else x
그것은 단지 내 프로그램에서 한 번 사용되는 그것은 중간에 있어요 함수 체인이므로 명명 된 함수로 정의하고 싶지는 않으며 람다식이 불필요하게 길게 보입니다. 대신, 나는 다른 기능을 사용하여 그것을 작성하려고합니다.
(ap . flip . bool id $ const z) (== y)
이 같은 간단한 기능에 대한 더 나은 점없는 형태가 있습니다 그러나, 지금까지 나는 단 하나의이 비밀 (및 cring-Y)와 함께 올라와있다?
나는 첫 번째 지적 버전보다 더 좋은 것은 없다고 생각합니다. – chi
@chi : 아마도. 그러나 나는'my. 굉장해. (\ x -> x == y이면 z else x). 기능. 체인 $ val'. : P – trVoldemort
'''where'' 절에서 정의하지 않는 이유는 무엇입니까? –