하나의 파일에서 필자는 정규 prelude (++) 연산자를 사용해야하며 (++)에 대한 고유 한 동작을 구현하기를 원합니다. 나는 나의 파일의 맨 위에 import Prelude hiding (++)
을 사용했고, 내 자신의 (++) 연산자를 정의했다. 그리고 이제 나는 그 아래에있는 정규 prelude (++)를 참조하기 바란다. 이것을 어떻게 성취합니까?Haskell Prelude 숨어, UNDO?
5
A
답변
14
쓰기뿐만 아니라
import qualified Prelude
import Prelude hiding ((++))
코드의 시작 부분에
, 당신은 서곡에 ++
을 필요로하는 곳에 Prelude.++
쓰기
4
Tsuyoshi Ito가 설명했듯이 모듈 이름으로 연산자를 한정 할 수 있습니다. 그러나 자신의 버전 인 (++)
을 정의함으로써 프로그램의 가독성을 높이고 자 할 때 나중에 모듈 이름을 사용하여 운영자를 인증하는 것이 이상한 방법으로 보입니다.
"abc" Prelude.++ "def"
이제 은 ugly입니다.
<++>
또는`append`와 같은 중위 함수와 같은 새 연산자를 만드는 것이 왜 좋지 않습니까?
관련 문제
- 1. MVC3 jQuery ..UNDO 기능
- 2. Flex Text Control Undo
- 3. Jquery Checkbox Undo
- 4. oracle-undo tablespace
- 5. Photoshop Undo System
- 6. UIActionSheet 내의 Undo 버튼
- 7. PHP : undo set_time_limit?
- 8. Netbeans 6.9 UNDO 작업
- 9. 함수 정의 in Haskell (GHCİ)
- 10. 왜 숨어 있지 않은가?
- 11. 키패드가 숨어 있습니다. UITextField
- 12. 숨어 이전 입력 버튼
- 13. 숨어 창 명령 줄
- 14. 숨어 파이썬 코드
- 15. 숨어 키보드 문제
- 16. 거기에 하스켈 Prelude 구현을 결합하고 교차합니까?
- 17. Haskell Print lines in function
- 18. JVM에서 "Undo Method Calls"지원
- 19. OpenTk Project에 Undo 옵션 넣기
- 20. Haskell Ambiguous Occurrences - 피하는 법?
- 21. SlidingDrawer가 Scrollview 뒤에 숨어 있음
- 22. Win32 프로그래밍 숨어 콘솔 창
- 23. JQuery 탭이 숨어 있지 않습니다.
- 24. NotifyIcon이 (가) 사라집니다. 숨어 있습니까?
- 25. 이 공백은 어디에 숨어 있습니까?
- 26. SystemTray가 자동으로 숨어 나오지 않도록하기
- 27. 스티커 바닥 글 숨어 내용
- 28. Haskell 데이터 타입 확장
- 29. ghci (Haskell)에서 함수 "순열"을 시도하지 못했습니다.
- 30. Haskell counts list type
그래, 실제로 질문에 대한 나의 첫 번째 반응은 "내가 함수를 게시하지는 않았지만 함수의 이름을'(++)'로 지정하지 않았습니다. 그러나 만약 묻는 사람이 Prelude에서'++ '를 대체 할'++'를 가진 라이브러리를 작성한다면, 라이브러리의 사용자는 이상적으로'Prelude. ++'를 사용할 필요가 없을 것입니다. 그런 (희귀 한) 경우, 같은 이름을 가진 함수를 정의하는 것이 합리적입니다. 그렇지 않으면 너무 널리 퍼진 이름 충돌을 일으키는 것은 거의 의미가 없습니다. –
특히 사람들이 동기 부여에 관한 충분한 정보를 제공하지 않을 때 사람들이 "하지 마라"라는 질문과 대답을 읽은 후 나를 괴롭히기 시작합니다. 탐험가들이 탐험하게하고, 그들이 옳다고 생각하는 것을 시도하게하고, 그들이 할 때 그것이 얼마나 추악한지를 직접 보게하십시오. 머지 않아 그들은 저들의 대답에이 논평을 쓸 수있는 입장에 서게 될 것이다. :-) – luqui