줄임표(컴퓨터 프로그래밍)

Ellipsis (computer programming)

컴퓨터 프로그래밍에서 줄임표기법(.. 또는 ...)은 범위, 지정되지 않은 수의 인수 또는 상위 디렉토리를 나타내기 위해 사용됩니다.대부분의 프로그래밍 언어에서는 줄임표를 일련의 마침표로 작성해야 합니다.단일(유니코드) 줄임표는 사용할 수 없습니다.

범위

Ada, Perl, Ruby, Apache Groovy, Kotlin, Haskell, Pascal포함일부 프로그래밍 언어에서 단축된 두 점 줄임표는 두 개의 엔드포인트가 주어진 값의 범위를 나타내기 위해 사용됩니다. 예를 들어, Perl에 포함된 1에서 100 사이의 정수 목록을 반복하기 위해 사용됩니다.

foreach (1..100)

인 루비 더...연산자는 하프 오픈 범위를 나타냅니다. 즉, 시작 값은 포함하지만 끝 값은 포함하지 않습니다.

[녹(Rust)]의 경우..=operator는 매치 케이스의 포함 범위를 나타냅니다...연산자는 끝 값을 포함하지 않는 범위를 나타냅니다.

Perl과 Ruby는 스칼라 컨텍스트에서 ".." 연산자를 플립 플랍 연산자로 오버로드합니다.- 스테이트풀 쌍안정 부울 테스트로, "true while x but not y"와 거의 동등하며, sed 및 AWK [1]연산자와 유사합니다.

GNU C 호환 컴파일러는 C 및 C++ 언어로 확장되어 스위치 에서 대소문자를 사용할 수 있습니다.

전환하다(u) {   사례.     0 ...   0x7F : 풋차(c); 브레이크.;   사례.  0x80 ...  0x7FF : 풋차(0xC0 + c>>6);  풋차( 0x80 + c&0x3f); 브레이크.;   사례. 0x800 ... 0xFFFF : 풋차(0xE0 + c>>12); 풋차( 0x80 + (c>>6)&0x3f); 풋차( 0x80 + (c>>12) ); 브레이크.;   체납: 에러("지원 안 돼!"); } 

또한 GNU C에서는 지정된 이니셜라이저에 대해 동일한 범위 구문을 사용할 수 있으며 C 언어에서만 사용할 수 있습니다.

인트 배열[10] = { [0...5] = 1 }; 

델파이 / 터보 파스칼 / 프리 파스칼 :

변화하다 필터링된 차: 세트  [#0..#32,#127,'a'..'z']; 변화하다 체크 항목: 세트  [4,10..38,241,58]; 

Unified Modeling Language(UML; 통합 모델링 언어)에서는 어소시에이션의 가변 카디널리티를 나타내기 위해 2글자의 생략 부호가 사용됩니다.예를 들어 카디널리티는 1 입니다.*는 어소시에이션에서 집약된 요소의 수가 1 ~ 무한대(Kleene Plus에 상당하는 사용량)인 것을 의미합니다.

부모 디렉토리

Windows 및 Unix 와 같은 operating system 에서는, 패스의 부모 디렉토리에 액세스 하기 위해서 「..」를 사용합니다.

불완전한 코드

Perl과[2] Raku에서는[3] 3글자 줄임표는 "yada yada yada" 연산자로도 알려져 있으며 언어적 의미와 마찬가지로 나중에 삽입되는 코드의 "stand-in" 역할을 한다.

Python3는 또한 3글자 줄임표를 나중에 삽입할 코드의 표현식 자리 표시자로 사용할 수 있도록 합니다.

변수 수

C 및 C++

C 프로그래밍 언어에서 생략 부호는 함수에 대한 가변적인 파라미터 수를 나타내기 위해 사용됩니다.예를 들어 다음과 같습니다.

int printf( const char* format, ... );[4]

그 후 C의 위의 함수는 다음과 같은 파라미터의 다른 유형 및 수로 호출할 수 있습니다.

printf("numbers %i %i %i", 5, 10, 15);

그리고.

printf("input string %s, %f", "another string", 0.5);

C99[5]변수 를 가진 매크로를 도입했습니다.

C++11에는 C99 프리프로세서가 [6]포함되어 있으며,[7] 또한 변수 수를 가진 템플릿도 도입되었습니다.

자바

버전 1.5에서 Java는 이 "varargs" 기능을 채택했습니다.예를 들어 다음과 같습니다.

public int func(int num, String... strings)

PHP

PHP 5.6은[8] 생략 부호를 사용하여 명시적으로 가변 함수를 정의할 수 있습니다....함수 정의의 인수 전은 해당 시점부터 인수가 배열로 수집됨을 의미합니다.예를 들어 다음과 같습니다.

기능. 변수_함수($a, b달러, ...기타) {     돌아가다 기타; }  var_var_var_module(변수)(변수_함수(1, 2, 3, 4, 5)); 

다음 출력을 생성합니다.

  배열(3) {     [0]=>     인트(3)     [1]=>     인트(4)     [2]=>     인트(5)   } 

다차원

Python, 특히 NumPy에서 생략 부호는 고차원 [9]배열에 대해 임의의 수의 차원을 슬라이스하는 데 사용됩니다.

>>>수입품 수치 ~하듯이 np >>>t = np.랜덤.랜드(2, 3, 4, 5) >>>t[..., 0].모양. # 마지막 치수에서 첫 번째 요소를 선택하고 나머지를 복사합니다. (2, 3, 4) >>>t[0, ...].모양. # 첫 번째 치수에서 첫 번째 요소를 선택하고 나머지를 복사합니다. (3, 4, 5) 

기타 의미론

MATLAB 에서는,[10] 행의 계속을 나타내기 위해서 3 문자의 줄임표를 사용하고, 행의 시퀀스는

x = [ 1 2 3 ...
4 5 6 ];

의미론적으로 한 줄과 같다

x = [ 1 2 3 4 5 6 ];

Raku에서는 실제 Unicode(U+2026) 줄임표(…) 문자가 형식 [11][self-published source?]문자열의 마커 유형으로 사용됩니다.

레퍼런스

  1. ^ perlop - perldoc.perl.org
  2. ^ "Perlsyn - Perl syntax - Perldoc Browser".
  3. ^ "Operators".
  4. ^ "Printf - C++ Reference".
  5. ^ Variadic 매크로 - GNU 컴파일러 컬렉션(GCC) 사용
  6. ^ C99 프리프로세서 동기화를 위한 초안 변경 작업 - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
  7. ^ "Working Draft, Standard for Programming Language C++" (PDF).: 14.5.3 가변 템플릿
  8. ^ "PHP: RFC:variadics".
  9. ^ "Indexing routines — NumPy v1.22 Manual".
  10. ^ Mathworks.com
  11. ^ Execesis 7: 포맷 - perl6 Wayback Machine에서 2011-06-15 아카이브 완료