안녕하세요~
수식작성하다 어디서 꼬였는지 한참 헤매다가 발견을 해서
프로그램 개선 요청드립니다.
할당연산자(=)
관계연산자(==)
if문 안에 값을 비교하는 문구를 썼을때는 관계연산자만 허용되어야 하는데.. 할당 연산자도 허용되어 할당연산자로 사용가능합니다.
이를 테면 아래식은 test1과 test2가 같으면 청산식인데 아무때나 청산이 되네요
디버깅을 계속 해보니 할당연산자가 문제였네요...
if (test1 = test2) then { sell();} // 비정상 - 아무때나 청산
if (test1 == test2) then { sell();} // 정상 - 조건이 맞을때만 청산
정상적이라면 if문 안에 할당연산자를 쓸수 없는게 맞는데 허용하다 보니 이런 문제가 발생이 되었습니다.
프로그램 개선 조치 부탁드립니다.
답변 1
예스스탁
예스스탁 답변
2022-02-14 16:53:40
안녕하세요? 예스스탁입니다.
if문 안에서도 할당연산자를 사용하는 경우가 있을 수 있고, 일반적인 프로그램 랭귀지 체계에서도 if문 안에 할당연산자를 사용할 경우 오류를 리턴하지 않기 때문에 예스랭귀지에서도 동일하게 처리하고 있습니다. 요청하신 내용은 반영해 드리기 어려울것 같습니다.
감사합니다.
> 캐빈이야 님이 쓴 글입니다.
> 제목 : 할당연산자와 관계연산자 구분 필요
> 안녕하세요~
수식작성하다 어디서 꼬였는지 한참 헤매다가 발견을 해서
프로그램 개선 요청드립니다.
할당연산자(=)
관계연산자(==)
if문 안에 값을 비교하는 문구를 썼을때는 관계연산자만 허용되어야 하는데.. 할당 연산자도 허용되어 할당연산자로 사용가능합니다.
이를 테면 아래식은 test1과 test2가 같으면 청산식인데 아무때나 청산이 되네요
디버깅을 계속 해보니 할당연산자가 문제였네요...
if (test1 = test2) then { sell();} // 비정상 - 아무때나 청산
if (test1 == test2) then { sell();} // 정상 - 조건이 맞을때만 청산
정상적이라면 if문 안에 할당연산자를 쓸수 없는게 맞는데 허용하다 보니 이런 문제가 발생이 되었습니다.
프로그램 개선 조치 부탁드립니다.