| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
이태영
가입: 2011년 9월 19일 올린 글: 34
|
올려짐: 2011년11월28일 13:42 주제: [프로젝트] Erase / Write 에 대해 질문드립니다. |
|
|
먼저 Erase에 대해 질문드립니다. 튜링 머신에서 "BLANK" 역할을 하는게 효종이의 꿈에서는 빈 땅이라고 판단해서, Erase를 시도할 경우 tape에 0 (빈 땅 심볼)을 쓰게 했는데, 맞나요..?
그리고 제가 Erase 또는 Write를 구현할 때, string으로 구성되어있는 tape에 symbol을 쓰기 위해서 String.set 명령을 사용했는데 이러면 string 자체가 바뀌더군요; 예를 들어
| 코드: |
let s1 = "11111"
let s2 = String.set s1 0 '2'
|
라고 하면 s2에는 물론 s1 스트링의 첫 글자가 2로 바뀐 "21111"이 붙지만, s1도 "21111"로 바뀌더라고요... 이래도 문제 없을까요? |
|
| 위로 |
|
 |
현.철
가입: 2011년 9월 27일 올린 글: 35
|
올려짐: 2011년11월28일 19:54 주제: |
|
|
| String.copy를 이용해서 복사한 다음에 바꿔보세요 |
|
| 위로 |
|
 |
이승중
가입: 2010년 6월 22일 올린 글: 561
|
올려짐: 2011년12월5일 13:44 주제: |
|
|
String, Array등은 물건중심개념 입니다. set 함수들로 내부의 값이 바뀔수 있기 때문에
값중심 프로그래밍과 섞어서 쓰려면
항상 값이 바뀔 수 있다는 것을 염두해 두면서 작성해야합니다.
현철님 답변대로 String.copy 쓰시거나,
값이 바뀌지 않는 리스트를 사용하는 것을 추천합니다 |
|
| 위로 |
|
 |
|