네스트(컴퓨팅)

Nesting (computing)

컴퓨터 과학 및 정보학에서 네스팅은 정보[1] 계층으로 구성되거나 객체가 다른 유사한 객체를 포함하는 곳입니다.그것은 거의 항상 어떤 의미에서 자기 유사하거나 재귀적인 구조를 가리킨다.

용어.

네스트란 다음을 의미합니다.

  • 네스트된 콜:
  • 산술식의 괄호 중첩 수준
  • nested if-module, while-module, repeat-until 구 등 필수 소스 코드의 중첩된 블록.
  • 정보 숨김:
    • 어휘 범위를 포함한 중첩 함수 정의
    • 레코드, 객체, 클래스 등의 중첩된 데이터 구조
  • 중첩된 가상화, 재귀 가상화라고도 함: 다른 가상 시스템 내에서 가상 시스템 실행

스프레드시트 내

스프레드시트에서 함수를 서로 중첩하여 복잡한 수식을 만들 수 있습니다.OpenOffice.org Calc 어플리케이션의 함수 마법사를 사용하면 여러 수준의 [further explanation needed]네스팅을 네비게이트할 수 있습니다.이것에 의해, 유저는 각각의 네스팅을 개별적으로 편집(및 수정)할 수 있습니다.

예를 들어 다음과 같습니다.

=IF(SUM(C8:G8)=0,"Y,"N")

Microsoft Excel 공식에서는 SUM 함수가 IF 함수 안에 중첩되어 있습니다.우선 C8부터 G8까지의 셀 내 숫자의 합을 계산한다.그런 다음 합계가 0인지 여부를 결정하고 합계가 0이면 문자 Y, 그렇지 않으면 문자 N을 표시합니다.

당연히 이러한 연쇄(또는 더 나은: 중첩) 공식의 수학적 분해능을 허용하려면 먼저 내부 식을 평가해야 하며, 내부 함수가 반환하는 결과가 외부 함수의 입력 데이터로 일시적으로 사용되기 때문에 이 외부 방향은 필수적입니다.

하나의 코드 행에만 괄호가 축적될 수 있기 때문에 편집 및 오류 검출(또는 디버깅)이 다소 불편해질 수 있습니다.따라서 스프레드시트 프로그램뿐만 아니라 최신 프로그래밍 환경도 현재 편집 위치에 해당하는 쌍을 굵은 글씨로 강조 표시합니다.여는 괄호와 닫는 괄호의 (자동) 균형 제어는 가새 일치 검사라고 합니다.

프로그래밍 중

제어 구조

구조화된 프로그래밍 언어에서 네스팅은 제어 구조를 서로 감싸는 것과 관련이 있으며, 보통 이 간단한 BASIC 함수에 나타나듯이 소스 코드 내의 다른 들여쓰기 수준을 통해 나타납니다.

기능. 룩업 코드(s코드 ~하듯이 스트링) ~하듯이 정수   어둡다 iReturn Value(반품값) ~하듯이 정수   어둡다 라인, sPath(패스) ~하듯이 스트링      sPath(패스)="C:\Test.dsv"   한다면 FileExists(sPath(패스)) 그리고나서     열다. sPath(패스) 위해서 입력 ~하듯이 #1     하다 하는 동안에 것은 아니다. EOF(1)        입력 #1, 라인       한다면 s코드=왼쪽(라인, 3) 그리고나서         '실행할 액션'       끝. 한다면     고리     가까운. #1   끝. 한다면   룩업 코드=iReturn Value(반품값) 끝. 기능. 

이 작고 간단한 예에서는 조건부 블록이 "만약...그러면...end if"는 "do while..." 내에 중첩됩니다.loop" one 입니다.

Pascal 및 Ada같은 일부 언어는 중첩 수준에 따라 선언에 제한이 없으므로 정확하게 중첩된 하위 프로그램 또는 중첩된 패키지(Ada)를 사용할 수 있습니다.다음으로 두 가지 예를 제시하겠습니다(실제 케이스에서 간략화).

-- 글로벌 변수 문제 제거(병행 사용 불가) -- 오래된 소스 세트로부터, 그 코드를 변경할 필요가 없습니다. -- 논리 또는 구조. -- 절차. Nesting_example_1     유형 Buffer_type  배열(정수 범위 << 고객명 >>님  정수;    절차. 압축 해제(     압축된  :  Buffer_type;     압축 해제된:나가. Buffer_type   )        --레거시 소스를 다음에 나타냅니다.     패키지 X_글로벌        인덱스인, 인덱스 아웃: 정수;       --** ^ 이러한 변수는 압축 해제에 대해 로컬입니다.       --** 이제 압축 해제는 작업 안전합니다.     끝. X_글로벌;     -- 메서드 1, 2, 3, ... (사양)     패키지 X_Method_1        절차. 압축 해제_1;     끝. X_Method_1;     -- 메서드 1, 2, 3, ... (코드)     패키지  X_Method_1        사용하다 X_글로벌;       절차. 압축 해제_1        시작한다.         인덱스인:= 압축된'첫번째;         --여기서, 압축 해제 코드, 메서드 1       끝. 압축 해제_1;     끝. X_Method_1;     -- 레거시 소스 종료   시작한다.     X_Method_1.압축 해제_1;   끝. 압축 해제;    test_in, test_out: Buffer_type(1..10_000);  시작한다.   압축 해제(test_in, test_out); 끝. Nesting_example_1; 

데이터 구조

중첩된 데이터 구조도 프로그래밍에서 흔히 볼 수 있습니다.

리스프

Lisp와 같은 함수형 프로그래밍 언어에서는 보다 단순한 원자 데이터 [2]구조처럼 리스트 데이터 구조가 존재한다.

  • 단순 목록에는 [2]원자만 들어 있습니다.
( A T O M S ) 

목록에 있는 원자는 A, T, O, M, S입니다.

  • 중첩된 목록에는 원자 목록과 [2]다른 목록이 모두 포함됩니다.
( ( ( N E S T E D ) L I S T S ) ( C A N ) ( B E ) U N N E C E S S A R I L Y ( C O M P L E X ) ) 

「 」를 참조해 주세요.

레퍼런스

  1. ^ https://study.com/academy/lesson/nesting-loops-statements-in-c-programming.html%7Ctitle=Nesting C 프로그래밍에서의 루프와 스테이트먼트
  2. ^ a b c Sebesta, Robert W. (2012). Concepts of Programming Languages (print) (10th ed.). Boston, MA, USA: Addison-Wesley. p. 49. ISBN 978-0-13-139531-2.