Factor의 문자열은 문자의 시퀀스로, length, nth, head, tail, map, filter 등 sequences 프로토콜 전체를 그대로 따르며, 문자열만을 위한 전용 보카뷸러리도 함께 제공해요.
"hello" length . ! => 5
"hello" reverse . ! => "olleh"
"abcdef" 3 head . ! => "abc"
문자열 전용 단어는 대부분 splitting, ascii, unicode에 들어 있어요.
| 단어 | 보카뷸러리 | 하는 일 |
|---|---|---|
split1 |
splitting |
첫 번째 등장 위치에서 자르기 |
split |
splitting |
집합에 있는 임의의 문자를 기준으로 자르기 |
harvest |
sequences |
split 결과에서 빈 조각 버리기 |
replace |
splitting |
부분 문자열 치환하기 |
surround |
sequences |
접두사와 접미사로 감싸기 |
glue |
sequences |
두 문자열을 구분자로 이어 붙이기 |
join |
sequences |
문자열 배열을 구분자로 이어 붙이기 |
>lower |
ascii |
소문자로 (ASCII) |
>upper |
ascii |
대문자로 (ASCII) |
[ blank? ] trim |
sequences |
앞뒤 공백 제거하기 |
first, second, third, fourth
|
sequences |
맨 앞 슬롯 |
first2, first3
|
sequences |
앞쪽 슬롯 둘 또는 셋 꺼내기 |
>string |
strings |
문자 시퀀스를 문자열로 바꾸기 |
1string |
strings |
한 문자를 한 글자짜리 문자열로 감싸기 |
CHAR: x |
parser | 한 글자 리터럴 (예: CHAR: A → 65) |
숫자와 문자열을 서로 변환할 때는 math.parser의 number>string과 string>number를 사용해요. 형식 문자열을 출력할 때는 formatting의 sprintf 등을 사용해요.
유니코드를 고려한 대소문자 변환이나 문자 분류가 필요하면 unicode에 있는 해당 단어를 사용해요.