join
이라는 다른 많은 언어로 된 기능을 찾고 있습니다. split
의 역순으로 동작합니다.맥시마에서 스플릿의 반대가 있습니까? 조인 함수?
나는 str_join(split("1;2", ";"), ";")
가 존재하는 경우 "1:2"
join
이라는 다른 많은 언어로 된 기능을 찾고 있습니다. split
의 역순으로 동작합니다.맥시마에서 스플릿의 반대가 있습니까? 조인 함수?
나는 str_join(split("1;2", ";"), ";")
가 존재하는 경우 "1:2"
는 잘 모르겠어요 될 것이라고 작업을 기대하지만이처럼 정의 할 수 있습니다 :
str_join(list, delim) := block(
if length(list) = 0 then return (""),
lreduce(
lambda(
[p,c],
if not(stringp(p)) then p: string(p),
if not(stringp(c)) then c: string(c),
concat(p, delim, c)
),
list
)
);
을 난 당신이 효과를 얻을 수 있다고 생각 ~{
~}
(출력의 반복)을 통해 printf
에 생성합니다. 또한 ~^
(반복에서 탈출) 구문을 사용했음을 주목하십시오.
(%i5) printf (true, "~{~a~^:~}~%", [1,2,3,4]);
1:2:3:4
(%o5) false
? printf
은 자세히 설명하지 않습니다. printf
에 대한 출력 제어 연산자는 Common Lisp에서 직접 빌려 오므로 CL Hyperspec에서 정보를 찾을 수 있습니다. 참조 : http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm
EDIT : 문자열을 printf(false, ...)
을 통해 표준 출력으로 출력하는 대신 반환 값으로 얻을 수 있습니다.