네스트(컴퓨팅)
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 ) )
「 」를 참조해 주세요.
레퍼런스
- ^ https://study.com/academy/lesson/nesting-loops-statements-in-c-programming.html%7Ctitle=Nesting C 프로그래밍에서의 루프와 스테이트먼트
- ^ 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.