Elixir의 문자열은 큰따옴표로 감싸고, UTF-8로 인코딩해요:
"Hi!"
<>/2 연산자로 문자열을 이어 붙일 수 있어요:
"Welcome to" <> " " <> "New York"
# => "Welcome to New York"
Elixir의 문자열은 #{} 문법으로 값을 끼워 넣을 수 있어요:
"6 * 7 = #{6 * 7}"
# => "6 * 7 = 42"
문자열에 줄바꿈 문자를 넣으려면 \n 이스케이프 코드를 사용해요:
"1\n2\n3\n"
줄바꿈이 많은 텍스트를 편하게 다루려면, 대신 큰따옴표 세 개로 이루어진 히어독 문법을 사용해요:
"""
1
2
3
"""
Elixir는 String 모듈에서 문자열을 다루는 다양한 함수를 제공해요.
|> 연산자를 파이프 연산자라고 해요. 이 연산자를 사용하면 함수 호출을 이어 붙일 수 있는데, 앞 함수 호출이 반환한 값이 다음 함수 호출의 첫 번째 인자로 전달돼요.
"hello"
|> String.upcase()
|> Kernel.<>("?!")
# => "HELLO?!"
이 연습 문제에서는 고등학교 커플이 소셜 미디어에서 사랑을 고백할 수 있도록, 두 사람의 이니셜이 들어간 ASCII 상자를 만들어 줄 거예요:
❤-------------------❤
| J. K. + M. B. |
❤-------------------❤
HighSchoolSweetheart.first_letter/1 함수를 구현해요. 이름을 받아서 첫 글자를 반환해요. 이름에 있는 불필요한 공백은 정리해요.
HighSchoolSweetheart.first_letter("Jane")
# => "J"
HighSchoolSweetheart.initial/1 함수를 구현해요. 이름을 받아서 첫 글자를 대문자로 바꾼 뒤 마침표를 붙여 반환해요. 이전 단계에서 정의한 HighSchoolSweetheart.first_letter/1을 반드시 재사용해요.
HighSchoolSweetheart.initial("Robert")
# => "R."
HighSchoolSweetheart.initials/1 함수를 구현해요. 공백으로 구분된 이름과 성으로 이루어진 전체 이름을 받아서 이니셜을 반환해요. 이전 단계에서 정의한 HighSchoolSweetheart.initial/1을 반드시 재사용해요.
HighSchoolSweetheart.initials("Lance Green")
# => "L. G."
HighSchoolSweetheart.pair/2 함수를 구현해요. 전체 이름 두 개를 받아서 이니셜이 들어간 ASCII 상자를 반환해요. 상자를 직접 그릴 필요는 없어요. 코드 주석에 있는 상자를 활용해요. 이전 단계에서 정의한 HighSchoolSweetheart.initials/1을 반드시 재사용해요.
HighSchoolSweetheart.pair("Blake Miller", "Riley Lewis")
# => """
# ❤-------------------❤
# | B. M. + R. L. |
# ❤-------------------❤
# """
Exercism에 가입하고 Elixir 트랙을 개념 58개연습 문제 168개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.