문자열을 사용할 때 S.min의 오답

닐 라이언
S.min ('1') ('02') =>'02'

왜 이것이 가능합니까? (yes type coercion ...하지만 이것은 Sanctuary입니다.) Strings를 사용할 때 아무것도 반환되지 않도록 Sanctuary를 구성 할 수 있습니까? 이를 처리하는 우아한 방법이 있습니까?

Davidchambers

다음 유형을 고려해 봅시다 S.min.

min :: Ord a => a -> a -> a

StringOrd의 요구 사항을 충족하므로 String -> String -> String가능한 전문화 중 하나가 있습니다.

> S.min ('foo') ('bar')
'bar'

숫자 여야 하지만 그렇지 않을 수도있는 입력을 다루는 경우 가장 좋은 방법은 불확실성을 미리 처리하는 것입니다.

//    untrustedInput1 :: Any
//    untrustedInput2 :: Any

//    input1 :: Maybe Number
const input1 = S.filter (S.is ($.Number)) (S.Just (untrustedInput1));

//    input2 :: Maybe Number
const input2 = S.filter (S.is ($.Number)) (S.Just (untrustedInput2));

그런 다음을 사용 S.lift2하여 S.minMaybe Number대해 작동 할 수있는 함수 로 변환 할 수 있습니다 .

S.lift2 (S.min) :: (Apply f, Ord a) => f a -> f a -> f a

위의 서명은 다음과 같이 특수화 할 수 있습니다.

S.lift2 (S.min) :: Maybe Number -> Maybe Number -> Maybe Number

마지막 단계는 S.lift2 (S.min)신뢰할 수있는 입력 에 적용 하는 것입니다.

S.lift2 (S.min) (input1) (input2)

다음은 전체 작동 예입니다.

> S.lift2 (S.min)
.         (S.filter (S.is ($.Number)) (S.Just ('1')))
.         (S.filter (S.is ($.Number)) (S.Just ('02')))
Nothing

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

sed를 사용하여 행별 문자열을 병렬로 대체 할 때 구문 오류 : {= s / _1 / _2 / =}?

분류에서Dev

GraphQL 억제 : 템플릿 문자열을 사용할 때 VS 코드의 구문 오류

분류에서Dev

문자열의 하위 문자열을 검색 할 때 세그먼트 오류

분류에서Dev

문자열의 하위 문자열을 검색 할 때 세그먼트 오류

분류에서Dev

ArrayList의 문자열을 int로 변환 할 때 Java 오류

분류에서Dev

사용자 정의 문자열 복사 기능을 사용하여 char *에서 char *로 복사 할 때 심각한 오류 발생

분류에서Dev

stringstream 및 if-else 문을 사용할 때 문자열 입력 오류

분류에서Dev

문자열을 전달할 때 오류

분류에서Dev

Angular2 : js의 축소 (.min) 버전을 사용할 때 오류가 발생합니다.

분류에서Dev

PHP에서 배열의 문자열 값과 문자열 값을 비교할 때 오류

분류에서Dev

HttpRequestMessage를 사용하여 JSON 본문을 보내려고 할 때 오류 응답

분류에서Dev

비교기에 문자열을 사용할 때 오류를 갖는

분류에서Dev

@RequestScope, @SessionScope, @ApplicationScope를 사용하여 문자열 Bean을 작성할 때 오류

분류에서Dev

연결 문자열에서 db 이름을 사용할 때 Mongoose 연결 오류

분류에서Dev

사용자 정의 플러그인 Phonegap 3.0을 추가 할 때 'path.join의 인수는 문자열이어야합니다'오류

분류에서Dev

C ++의 함수에서 문자열을 반환 할 때 분할 오류

분류에서Dev

FileNotFoundError : 두 개의 연결된 문자열을 사용할 때 [WinError 3]

분류에서Dev

몇 줄 이상을 사용할 때 C #의 느린 문자열 서식

분류에서Dev

목록에서 임의 값의 문자열을 사용하려고 할 때 기호 오류를 찾을 수 없습니다.

분류에서Dev

JSON 응답 값을 가져 오려고 할 때 목록 대신 문자열 가져 오기

분류에서Dev

사용자 정의 QSurfaceFormat을 사용할 때 PySide2 OpenGL 오류

분류에서Dev

배열의 각 문자열을자를 때 오류

분류에서Dev

strcpy를 사용하여 "문자열"을 구조체 멤버 char *로 복사 할 때 분할 오류

분류에서Dev

Regex.Matches를 사용하여 문자열의 특정 단어를 계산할 때 오류 발생

분류에서Dev

strsep / strdup을 사용하여 C 문자열을 구조체 변수로 조작 할 때 C 분할 오류

분류에서Dev

postgresql 쿼리를 위해 배열 내부의 문자열을 이스케이프 할 때 사용할 PHP 함수

분류에서Dev

Fetch API를 사용할 때 요청 / 응답을 어떻게 가져 오나요?

분류에서Dev

s3 경로의 하위 문자열을 사용하여 분할

분류에서Dev

Beautifulsoup의 URL을 연결할 때 왜 문자열을 사용할 수 없습니까?

Related 관련 기사

  1. 1

    sed를 사용하여 행별 문자열을 병렬로 대체 할 때 구문 오류 : {= s / _1 / _2 / =}?

  2. 2

    GraphQL 억제 : 템플릿 문자열을 사용할 때 VS 코드의 구문 오류

  3. 3

    문자열의 하위 문자열을 검색 할 때 세그먼트 오류

  4. 4

    문자열의 하위 문자열을 검색 할 때 세그먼트 오류

  5. 5

    ArrayList의 문자열을 int로 변환 할 때 Java 오류

  6. 6

    사용자 정의 문자열 복사 기능을 사용하여 char *에서 char *로 복사 할 때 심각한 오류 발생

  7. 7

    stringstream 및 if-else 문을 사용할 때 문자열 입력 오류

  8. 8

    문자열을 전달할 때 오류

  9. 9

    Angular2 : js의 축소 (.min) 버전을 사용할 때 오류가 발생합니다.

  10. 10

    PHP에서 배열의 문자열 값과 문자열 값을 비교할 때 오류

  11. 11

    HttpRequestMessage를 사용하여 JSON 본문을 보내려고 할 때 오류 응답

  12. 12

    비교기에 문자열을 사용할 때 오류를 갖는

  13. 13

    @RequestScope, @SessionScope, @ApplicationScope를 사용하여 문자열 Bean을 작성할 때 오류

  14. 14

    연결 문자열에서 db 이름을 사용할 때 Mongoose 연결 오류

  15. 15

    사용자 정의 플러그인 Phonegap 3.0을 추가 할 때 'path.join의 인수는 문자열이어야합니다'오류

  16. 16

    C ++의 함수에서 문자열을 반환 할 때 분할 오류

  17. 17

    FileNotFoundError : 두 개의 연결된 문자열을 사용할 때 [WinError 3]

  18. 18

    몇 줄 이상을 사용할 때 C #의 느린 문자열 서식

  19. 19

    목록에서 임의 값의 문자열을 사용하려고 할 때 기호 오류를 찾을 수 없습니다.

  20. 20

    JSON 응답 값을 가져 오려고 할 때 목록 대신 문자열 가져 오기

  21. 21

    사용자 정의 QSurfaceFormat을 사용할 때 PySide2 OpenGL 오류

  22. 22

    배열의 각 문자열을자를 때 오류

  23. 23

    strcpy를 사용하여 "문자열"을 구조체 멤버 char *로 복사 할 때 분할 오류

  24. 24

    Regex.Matches를 사용하여 문자열의 특정 단어를 계산할 때 오류 발생

  25. 25

    strsep / strdup을 사용하여 C 문자열을 구조체 변수로 조작 할 때 C 분할 오류

  26. 26

    postgresql 쿼리를 위해 배열 내부의 문자열을 이스케이프 할 때 사용할 PHP 함수

  27. 27

    Fetch API를 사용할 때 요청 / 응답을 어떻게 가져 오나요?

  28. 28

    s3 경로의 하위 문자열을 사용하여 분할

  29. 29

    Beautifulsoup의 URL을 연결할 때 왜 문자열을 사용할 수 없습니까?

뜨겁다태그

보관