커뮤니티

예스랭귀지 초보적인 질문입니다..

프로필 이미지
정현웅
2017-04-07 11:40:17
199
글번호 108546
답변완료
var : count(0) , idx (1), Entriestoday(0) ; if EntryDate(0) == 0 Then count = 0 ; if EntryDate(0) == sDate Then count = 1 ; While EntryDate(idx) == sDate { count = count + 1 ; idx = idx + 1 ; } Entriestoday = count ; 위의 당일진입횟수 함수를 인터넷에서 찾아서 예스랭귀지에서 검증했을 때 "함수가 값을 리턴하고 있지 않습니다. 함수는 반드시 값을 리턴해야 합니다." 라고 뜨는데 예스랭귀지나 기타 다른 언어도 하나도 모르는 까막눈이라 여기에 질문드립니다.. 어떻게 하면 저 함수에서 저러한 오류가 뜨지 않게 만들수 있나요? 또한 한가지 추가로 더 여쭙고 싶은게 있습니다.. 일반적인 entriestoday 함수 input : ndate(Numeric); var : count (0); count = 0 ; for value1 = 0 to 10 { if EntryDate(value1) == ndate Then count = count + 1 ; } EntriesToday = count; 에서.. ndate 는 새로 만든 변수인가요 아니면 sdate처럼 오늘 날짜를 뜻하는 것인가요? 그리고 input : ndate(Numeric);이라는 변수는 input : ndate(0);과 무슨 차이가 있는지요?
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-04-07 14:52:01

안녕하세요 예스스탁입니다. 1 해당식을 일반 시스템식등에서 사용하면 검증에 문제가 없습니다. 사용자함수로 만드시는 내용이면 사용자함수의 이름이 곧 그 함수식의 최종값을 리턴하는 변수명이므로 사용자함수를 AAA라는 이름으로 만들고 아래와 같이 함수명에 최종값을 할당하게 만드면 됩니다. var : count(0) , idx (1), Entriestoday(0) ; if EntryDate(0) == 0 Then count = 0 ; if EntryDate(0) == sDate Then count = 1 ; While EntryDate(idx) == sDate { count = count + 1 ; idx = idx + 1 ; } Entriestoday = count ; AAA = Entriestoday;//함수명에 최종값 리턴 올려주신 식은 따로 함수로 만들어 사용하는 내용은 아니고 시스템식에서 해당 수식을 그대로 추가해 사용하는 내용입니다. 2 ndate는 input으로 선언한 외부변수입니다. 작성자가 임의로 만든 변수입니다. 사용자함수를 만들때는 외부변수는 고정값을 지정하지 않습니다. 지표나 시스템등에서 해당 함수를 사용해 값을 지정하므로 함수식 자체에서는 숫자가 저장된다는 의미로 (Numeric)으로 선언하는 것입니다. 즐거운 하루되세요 > 정현웅 님이 쓴 글입니다. > 제목 : 예스랭귀지 초보적인 질문입니다.. > var : count(0) , idx (1), Entriestoday(0) ; if EntryDate(0) == 0 Then count = 0 ; if EntryDate(0) == sDate Then count = 1 ; While EntryDate(idx) == sDate { count = count + 1 ; idx = idx + 1 ; } Entriestoday = count ; 위의 당일진입횟수 함수를 인터넷에서 찾아서 예스랭귀지에서 검증했을 때 "함수가 값을 리턴하고 있지 않습니다. 함수는 반드시 값을 리턴해야 합니다." 라고 뜨는데 예스랭귀지나 기타 다른 언어도 하나도 모르는 까막눈이라 여기에 질문드립니다.. 어떻게 하면 저 함수에서 저러한 오류가 뜨지 않게 만들수 있나요? 또한 한가지 추가로 더 여쭙고 싶은게 있습니다.. 일반적인 entriestoday 함수 input : ndate(Numeric); var : count (0); count = 0 ; for value1 = 0 to 10 { if EntryDate(value1) == ndate Then count = count + 1 ; } EntriesToday = count; 에서.. ndate 는 새로 만든 변수인가요 아니면 sdate처럼 오늘 날짜를 뜻하는 것인가요? 그리고 input : ndate(Numeric);이라는 변수는 input : ndate(0);과 무슨 차이가 있는지요?