2016-07-21 1 views
3

우리는 왜 왜 대부분의 프로그래밍 언어는 쉼표를 수락합니까?

int n=1,000; 

을 쓸 수 없습니다?

프로그래밍 언어가 쉼표를 허용하도록 설계되지 않은 이유는 무엇입니까? 쉼표를 사용할 수 있다면 문제가 발생합니까?

+1

Swith에서 '_'을 (를) 사용할 수 있습니다. 'let n = 1_000' –

+0

정수 리터럴에서 내가 사용했던 대부분의 언어가 '_'을 지원한다고 생각합니다. 필자는 메서드/함수 호출에서 매개 변수를 구분하기 위해 쉼표를 사용합니다. 따라서 쉼표를 숫자로 사용하면 컴파일러와 독서 코드에 혼란이 생길 ​​수 있습니다. – Sweeper

+0

구문에 대해 예약 된 문자이기 때문에 – kurakura88

답변

6

,은 대다수의 언어에서 연산자 또는 특수한 의미가 있기 때 문입니다.

따라서 setColor(4,242,242)이 세 개의 인수 (4, 242 및 242) 또는 단일 인수 (4242242)를 가진 호출인지 여부를 파악하는 것은 어렵거나 불가능합니다.

Swift와 같은 일부 언어는 쉽게 읽을 수 있도록 _으로 숫자를 허용합니다. 예를 들어 1_0001000과 같습니다.

구문 분석에 대한 자세한 내용은 the Wikipedia article Lexical analysis을 읽어 보시기 바랍니다.

+0

인수에 좋은 지적 !!! – Gqqnbig

0

많은 언어에서 쉼표는 어떤 형태의 언어 구조로 취급됩니다. 배열의 예를 들면 다음과 같습니다

var array = [0,1,2,3,4]; 

또는 일부의 경우 인라인 문자열 연결에

:

var string1 = "yay"; 
var string2 = "me"; 
var output = string1, string2; 

다른 언어는 다른 구현이있다. 항상 쉼표로 사용자 입력을 "수정"하기 위해 정규 표현식을 사용할 수 있습니다.

변수에 반드시 쉼표를 사용해야한다면 아마 문자열을 사용해야 할 것입니다. 그런 다음 정규 표현식이나 사용중인 언어의 parseAsInt()를 사용하여 숫자로 변환 할 수 있습니다. 또는 parseAsFloat(); 동등한.

관련 문제