2014-11-09 6 views
3

은이 코드를 사용하여 printOn 방법을 재정의하는 것을 시도하고있다 :SmallTalk - 구분 기호에 구분 기호가있는 모음을 인쇄하는 올바른 방법은 무엇입니까?

coordinates do: [:elem | aStream print: elem] separatedBy: [aStream print: ' ,'] 

"좌표"컬렉션 (OrderedCollection)의 이름을 의미하지만, 성적 증명서 쇼에 호출 할 때 나는이를 인쇄 기다리고 있었다 :

(2/2) ,(1/1) ,(3/3) ,(-4/4) 

내가 대신이있어 :

(2/2)','(1/1)','(3/3)','(-4/4) 

난. e 따옴표도 인쇄되었습니다.

로컬 변수를 정의하여 사용하려고 시도했습니다. 아무 것도 작동하지 않았습니다.

답변

8

#print:을 사용하여 문자열을 인쇄하지 마십시오. 안전하려면 (모든 컬렉션에서 사용할 수 있음) #nextPutAll:을 사용하십시오. #print:은 문자열 표현을 스트림에 쓰고 인수를 따옴표로 묶습니다. 따라서 출력에서 ​​따옴표를 얻습니다.

+0

aStream << elem 및 aStream << ','또한 더 짧습니다. – philippeback