2016-03-16 2 views
0

Чтобы получить первый символ строки я могу:Один символ из строки

(sc) "asd" first 
97 

Целое.

Чтобы сделать строку, единственный способ, которым я мог бы найти было:

(sc) USE: strings math.ranges 
(sc) "asd" first dup 
97 
97  
(sc) [a,b] 
T{ range f 97 1 1 }  
(sc) >string 
"a" 

Это кажется вроде Hacky/громоздким. Есть ли более чистые способы получить только один символ из строки, как строку?

ответ

2

Фактор различает символы, которые являются только кодами Unicode, которые являются целыми числами и строками, которые представляют собой просто последовательности символов. Попробуйте, например:

IN: scratchpad CHAR: A . 
65 
IN: scratchpad CHAR: Ö . 
214 
IN: scratchpad CHAR: 字 . 
23383 

Таким образом, вы задаете этот вопрос, вероятно, являетесь симптомом непонимания чего-либо. Независимо от того, чтобы сделать вашу задачу:

IN: scratchpad "Single character from a string" 5 swap nth 1string . 
"e" 

Она захватывает шестой символ и преобразует его в длинную строку один символ.

+0

'1string' - это слово, которое я искал, спасибо. – cat

Смежные вопросы