커뮤니티

디버깅하면 모든시간에 대해서 변수가 출력되버립니다.

프로필 이미지
ravit
2021-01-26 15:01:12
934
글번호 145808
답변완료

첨부 이미지

var : a("안녕"); Text_New(20210111,110000,80000,a); MessageLog("%s",a); 이런 코드가 있는데요. 제가 생각하기에 디버그를 하면 출력값이 안녕 이라고 1개만 나와야할텐데, 300개의 바에 대해서 각 시간마다 안녕이라고 출력되버립니다. 그렇다는 것은 질문: 제가 a라는 변수를 선언했지만 사실상 a는 동일한 값이 300개가 있는 배열으로 정의된건가요? 300개의 공간이 있는 배열인건가요??
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-01-26 16:42:50

안녕하세요 예스스탁입니다. 1 모든수식은 차트에 적용되면 차트의 가장 과거봉부터 현재봉으로 오면서 봉마다 계산을 하게 됩니다. 2 var : a("안녕"); MessageLog("%s",a); a는 "안녕"이라는 텍스트가 저장된 변수입니다. 첫봉에서 MessageLog동작 -> 두번째봉에서 MessageLog동작 -> 세번쨰봉에서 MessageLog동작... 와 같이 매봉 a를 출력하라고 하므로 차트의 봉개수만큼 출력되는 것입니다. 즉 a가 벼열이 아니라 출력명령을 매봉한것일 뿐입니다. 3 선언되는 변수는 사용자가 수식에서 필요한 만큼 과거봉이 값을 배열형식으로 저장하게 됩니다. 하지만 선언되는 변수가 무조건 배열이 되는 것이 아니고 예를들어 수식상에 a[3]과 같이 3봉전 a에 저장된 값을 호출하는 내용등이 있으면 수식내에서 필요한 과거봉만큼 배열로 저장해 주게 됩니다. 즐거운 하루되세요 > ravit 님이 쓴 글입니다. > 제목 : 디버깅하면 모든시간에 대해서 변수가 출력되버립니다. > var : a("안녕"); Text_New(20210111,110000,80000,a); MessageLog("%s",a); 이런 코드가 있는데요. 제가 생각하기에 디버그를 하면 출력값이 안녕 이라고 1개만 나와야할텐데, 300개의 바에 대해서 각 시간마다 안녕이라고 출력되버립니다. 그렇다는 것은 질문: 제가 a라는 변수를 선언했지만 사실상 a는 동일한 값이 300개가 있는 배열으로 정의된건가요? 300개의 공간이 있는 배열인건가요??