2015-11-02 23 views

Trả lời

10

Wrap nó trong ngoặc

plusOne = 
    (+) 1 
+0

Ah, đó phải là lý do tại sao các tài liệu cho thấy các phương pháp với dấu ngoặc đơn. – Shepmaster

+0

Một ý tưởng về lý do tại sao nó không phải là '(+ 1)' như trong Haskell? Và tại sao '(-) 1' có một hành vi rất tò mò ... nhưng' (+) -1' công trình có ý định :-) –

+1

Chức năng của Infix được định nghĩa hơi khác so với các hàm thông thường. '(+ 1)' là cách bạn sẽ áp dụng một phần hàm bình thường nhưng đối với infix bạn phải bọc nó trong '()' để làm cho nó hoạt động như một hàm bình thường trước. '(-)' có chữ ký 'số -> số -> số'. Nó trừ số thứ hai từ số đầu tiên. '(-) 1' áp dụng một phần 1 làm số đầu tiên, vì vậy nó giống với' f x = 1 - x'. Nếu bạn muốn nó theo cách khác, bạn có thể sử dụng [flip] (http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Basics#flip) function 'flip (-) 1 ' – robertjlooby

Các vấn đề liên quan