Bob은 나태한 십 대예요. 자기가 아주 쿨하다고 생각하길 좋아하죠. 그리고 어떤 일에도 절대 신나 하지 않아요. 그럼 쿨하지 않으니까요.
사람들이 말을 걸어도 돌아오는 대답은 몇 가지뿐이에요.
이번 과제는 누군가 Bob에게 말을 걸거나 질문을 했을 때 Bob이 무엇이라고 답할지 판단하는 거예요.
Bob은 언제나 다섯 가지 중 하나로만 답해요.
responseFor 함수를 구현해야 해요. 이 함수는 주어진 입력에 대한 Bob의 응답을 반환해요. 타입이 확실하지 않다면 제공된 시그니처를 사용해도 되지만, 그것이 창의성을 제한하도록 두지는 마세요:
responseFor :: String -> String
이 연습 문제를 풀려면 다음 내용을 읽어볼 수 있어요:
이 연습 문제는 텍스트 데이터를 다뤄요. 역사적인 이유로 Haskell의 String 타입은 문자들의 배열인 [Char]와 같은 의미예요. 텍스트 데이터를 더 효율적으로 다루려면 Text 타입을 사용할 수 있어요.
이 연습 문제를 선택적으로 확장해서 다음과 같은 것도 해볼 수 있어요.
Haskell의 문자열 타입에 대해 읽어봐요.
package.yaml의 의존성 목록에 - text를 추가해요.
다음과 같은 방식으로 Data.Text를 임포트해요:
import qualified Data.Text as T
import Data.Text (Text)
이제 예를 들어 responseFor :: Text -> Text라고 작성하고, Data.Text의 콤비네이터를 예를 들어 T.isSuffixOf처럼 사용할 수 있어요.
Data.Text의 문서를 찾아봐요,
그런 다음 Bob.hs에서 String을 모두 Text로 바꿀 수 있어요:
responseFor :: Text -> Text
이 부분은 전부 선택 사항이에요.
Exercism에 가입하고 Haskell 트랙을 연습 문제 107개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.