서명이 다른 함수의 부분 적용이 작동하는 이유는 무엇입니까? 예를 들어 Control.Monad.join을 가지고 : GHCi> :t (=<<)
(=<<) :: Monad m => (a -> m b) -> m a -> m b
GHCi> :t id
id :: a -> a
GHCi> :t (=<<) id
(=<<) id :: Monad m => m (
몇 가지 기능 프로그래밍 언어를 통해 관심있는 것을 배우고 있으며 스칼라를 지금보고 있습니다. 내가 뭘 하려는지는 double이라는 함수를 작성하는 가장 간단한 방법을 알아내는 것으로서 하나의 인수를 취하고 그것을 두 배로 늘리는 것입니다. def double = (x:Int) => x*2
또는 def double(x:Int) = x*2
이 작동하지
C++에서 n 번째 인수의 값을 (런타임에 결정될) 어떤 값으로 설정하여 n 개의 인수를 취하는 함수에서 (n-1) 개의 인수를 취하는 것이 가능한지 궁금합니다. 예. 나는 다음과 같은 것을 할 싶습니다 : 개념적으로 float foo(float a, float b, float c){
// do some stuff
}
float bar(flo
함수 응용 프로그램이 어떻게 haskell에서 currying으로 작동하는지 이해하는 데 문제가 있습니다. 나는 다음과 같은 기능이있는 경우 : ($) :: (a -> b) -> a -> b
나는 부분적으로이 기능을 적용에 내가 (a -> b) 기능 ($의 첫 번째 인수)를 제공 할 필요가 있음을 이해합니다. 왜 값을 먼저 적용 할 수 있습니까 (즉,
암시 적 매개 변수를 사용하는 메서드를 함수로 변환 할 수 있습니까? trait Tx
def foo(bar: Any)(implicit tx: Tx) {}
foo _ // error: could not find implicit value for parameter tx: Tx
내가 어떻게 든 일반 전화 withSelection(deleteObject
나는 John Resig의 Javascript 닌자의 비밀을 통해 읽고 currying과 parital 기능에 대한 예제 중 하나를 시도하고 있었다. 다음과 같이 코드는 다음과 같습니다 <html>
<body>
<button id="test">Click Me!</button>
</body>
<script type="text/javascript">
JavaScript를 사용하여 온라인에서 읽고 간단한 코드를 작성하여 함수를 학습 중입니다. 온라인 기사에서 다음 예제를 얻었습니다. function toArray(obj) {
return Array.prototype.slice.call(obj);
}
Function.prototype.curry = function() {
부분적으로 중침 함수를 적용하는 것은 을 Learn You a Haskell for Great Good으로 다이빙 한 후 발견 한 새로운 개념이었습니다. 을 감안할 때이 기능 : applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)
저자는 흥미로운 방법으로 그것을 사용 여기 ghci> applyTwic
문자를 끝내려면 공백을 추가하고, 인수를 전달하지 않으면 부분 응용 프로그램으로 어떻게 처리 할 수 있습니까? 또한 유형이 맞습니까? space :: Char -> [Char]
++ 및 : 연산자를 사용하여 '구문 분석 오류'로 인해 끝에 공백을 추가하는 데 문제가 있습니다. 내가 지금까지있는 것은 : space :: Char -> [Char]
s
나는 묵시적인 자바 스크립트를 읽고 있는데 아래의 예를 이해하기가 힘듭니다. 누구든지 라인 형식의 설명을 할 수 있습니까? 특히, 첫 번째 루프가 시작되는 이유와 pushAr 메서드가 알려진Arg와 인수에 모두 사용되는 이유에 대해서는 혼란 스럽습니다. 나는 이것이 "부분적인 적용"과 관련되어 있음을 알고 있지만, 정확히 한 줄씩 어떤 일이 일어나는지에 대