연결

Concatenation

형식 언어 이론과 컴퓨터 프로그래밍에서 문자열 연결문자열엔드 투 엔드로 연결하는 연산입니다.예를 들어, "snow"와 "ball"의 결합은 "snowball"이다.끈 이론이라고도 불리는 연결 이론의 특정한 공식화에서, 끈 연결은 원시적인 개념이다.

구문

많은 프로그래밍 언어에서 문자열 연결은 바이너리 인픽스 연산자입니다.+(+) 문자열 인수의 연결을 나타내기 위해 연산자가 오버로드되는 경우가 많습니다."Hello, " + "World"가치가 있다"Hello, World". 다른 언어에는 다른 연산자가 있습니다.일반적인 플러스 동작에 비해 특히 암묵적인 유형 변환을 문자열로 지정하는 연산자가 있습니다.예를 들면 다음과 같습니다..Edinburgh IMP, Perl 및 PHP에서는..루아에서, 그리고&Ada, AppleScript 및 Visual [1]Basic에서 사용할 수 있습니다.다음과 같은 다른 구문이 존재합니다. PL/I 및 Oracle 데이터베이스에서SQL.[2]

몇몇 언어(특히 C, C++ 및 Python)에서는 문자열 리터럴 연결(string literal concatination)이 있습니다.즉, 인접한 문자열 리터럴은 연산자 없이 연결됩니다."Hello, " "World"가치가 있다"Hello, World"다른 언어에서는 문자열 리터럴과 연산자의 결합이 컴파일 시 지속적인 폴딩을 통해 평가되지만 이는 언어 기능이 아닌 컴파일러의 구현 세부 사항인 경우가 많습니다.

실행

프로그래밍에서 문자열 연결은 일반적으로 런타임까지 문자열 값을 알 수 없기 때문에 런타임에 발생합니다.단, 문자열 리터럴의 경우 값은 컴파일 시에 알 수 있으므로 문자열 리터럴 연결 또는 연속 폴딩을 통해 문자열 연결을 컴파일 시에 수행할 수 있습니다.

문자열 집합의 연결

형식 언어 이론 및 패턴 매칭(정규 표현 포함)에서 문자열 연결 연산은 다음과 같이 문자열 집합 연산으로 일반화됩니다.

문자열을 S1과 S2의 두세트 들어, 적은 연쇄 S1S2 S1에서 여기서 v는은 실과 S2에서 맞춤된 문자열 또는 공식적으로 S1S2){vw다:v∈ S1, 아니 ∈ S2}형태 vw의 모든 문자열로 구성되어 있다.많은 저자들 또한 문자열을 설정하고 단일 문자열의는 비슷한 S1w에 의해){vw다:v∈ S1}과 vS2){vw:w∈ S2}정의된다 연접하고, 그 반대의 경우 사용한다.. 이러한 정의에서 문자열 vw는 처음에 정의된 문자열 v와 w의 일반적인 결합입니다.

를 들어 F = { a, b, c, d, e, f, g, h }, R = { 1, 2, 3, 4, 5, 6, 7, 8 }이면 FR은 모든 체스 보드 좌표 집합을 대수 표기법으로 나타내며, eR은 킹스 파일의 모든 좌표 집합을 나타냅니다.

이 문맥에서 문자열 집합은 종종 형식 언어라고 불립니다.연결 연산자는 일반적으로 (곱셈과 같이) 단순한 병렬로 표현됩니다.

대수적 성질

알파벳 위의 문자열은 연결 연산을 통해 늘 문자열(자유 모노이드)인 아이덴티티 요소와 연관된 대수 구조를 형성합니다.

연결 및 교체가 포함된 문자열 세트는 세미링을 형성하고 연결(*)은 교대(+)로 분산됩니다. 0은 빈 세트이고 1은 늘 문자열로만 구성됩니다.

적용들

오디오/텔레포니

텔레포니용 프로그래밍에서 연결은 사용자에게 동적 오디오 피드백을 제공하기 위해 사용됩니다.예를 들어, "하루 중 시간"을 말하는 시계에서는, 함께 연결된 적절한 녹음을 재생함으로써 정확한 시간을 제공하기 위해 연결을 사용합니다.예를 들어 다음과 같습니다.

  • '톤이 울리면'
  • '에잇'
  • '서른'
  • '다섯'
  • "그리고"
  • "스무 살"
  • '다섯'
  • "초"

녹음 자체는 따로 존재하지만 하나씩 재생하면 듣는 사람에게 문법적으로 맞는 문장이 나옵니다.

이 기술은, 번호 변경 방송, 보이스 메일 시스템, 또는 발신자에게 다이나믹 피드백을 제공하는 대부분의 텔레포니애플리케이션(무비폰, 텔미 등)에서도 사용됩니다.

모든 종류의 전산화된 공공 연설 시스템을 위한 프로그래밍은 동적 공공 방송(예: 공항 내 항공편)을 위해 연결을 사용할 수도 있다.이 시스템은 번호, 노선 또는 항공사, 목적지, 시간 등의 녹음된 음성을 보관하고 이를 특정 순서로 재생하여 시설 전체에 문법적으로 올바른 문장을 발표한다.

데이터베이스 이론

관계형 데이터베이스 설계의 원칙 중 하나는 데이터 테이블의 필드가 테이블 주체의 단일 특성을 반영해야 한다는 것인데, 이는 연결된 문자열을 포함하지 않아야 한다는 것을 의미합니다.보고서에 연결이 필요한 경우 보고서를 실행할 때 연결을 제공해야 합니다.예를 들어 특정 고객의 실제 주소를 표시하기 위해 데이터에는 건물 번호, 거리 이름, 건물 하위 단위 번호, 시/도 이름, 우편 번호 및 국가 이름이 포함될 수 있습니다(예: "123 Fake St Apt 4, Boulder, CO 80302, USA").단, 고객 데이터 테이블은 연결된 문자열을 저장하기 위해1개의 필드를 사용하지 마십시오.보고서를 실행할 때7개의 필드가 연결됩니다.이러한 원칙이 없는 경우 대량의 데이터 입력 및 업데이트가 오류가 발생하기 쉽고 노동 집약적이기 때문입니다.시, 주, ZIP 번호 및 국가를 개별적으로 입력하면 데이터 입력 검증(예: 잘못된 주 약어 탐지)이 가능합니다.그런 다음 이러한 개별 항목을 사용하여 도시 이름으로 "Boulder"가 있는 것과 같이 레코드를 정렬하거나 인덱싱할 수 있습니다.

레크리에이션 수학

레크리에이션 수학에서, 많은 문제들은 어떤 기초에서 숫자의 연결 아래에 있는 숫자의 속성과 관련이 있다.예로는 가정 소수(특정 숫자의 소수 인자의 증가 연결을 반복적으로 인수하여 얻은 소수), Smarandache가 있다.웰린 수(첫 번째 소수의 결합), 챔퍼넌과 코프랜드-에르도의 상수(각각 양의 정수와 소수의 소수 표현에 의해 형성되는 실수).

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Concatenation Operators in Visual Basic". .NET Visual Basic guide Language features: Operators and expressions. Microsoft. 2015.
  2. ^ "Concatenation Operator". Oracle Database Online Documentation, 10g Release 2 (10.2) / Administration: Database SQL Reference. Oracle.