ネスティングとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 日本語表現辞典 > ネスティングの意味・解説 

nesting

別表記:ネスティング

「nesting」の意味・「nesting」とは

「nesting」とは、一つのものが他のものの中に収まる、あるいは組み込まれる状態を指す英語の単語である。コンピューターサイエンス分野では、一つ関数ループ、あるいは条件文が他の関数ループ条件文中に入ることを指す。また、デザイン建築分野では、一つオブジェクト部屋が他のオブジェクト部屋中に収まる状態を指す。

「nesting」の発音・読み方

「nesting」の発音は、IPA表記では /ˈnɛstɪŋ/ となる。IPAカタカナ読みでは「ネスティング」となり、日本人発音するカタカナ英語では「ネスティング」と読む。この単語発音によって意味や品詞が変わる単語ではない。

「nesting」の定義を英語で解説

"Nesting" refers to the condition of one thing being contained or embedded within another. In the field of computer science, it refers to a function, loop, or conditional statement being contained within another function, loop, or conditional statement. In design and architecture, it refers to the state of one object or room being contained within another object or room.

「nesting」の類語

「nesting」の類語としては、「embedding」や「encapsulating」がある。これらの単語も一つのものが他のものの中に収まる、あるいは組み込まれる状態を指す。

「nesting」に関連する用語・表現

「nesting」に関連する用語としては、「nested loop」や「nested function」がある。これらはそれぞれループ関数が他のループ関数中に組み込まれている状態を指す。

「nesting」の例文

1. "The nesting of functions can make the code more efficient."(関数のネスティングはコードをより効率的にすることができる。)
2. "Nesting tables can save space in a small room."(ネスティングテーブルは小さな部屋スペース節約することができる。)
3. "The nesting of loops can make the program more complex."(ループのネスティングはプログラムをより複雑にすることができる。)
4. "Nesting dolls are a traditional Russian toy."(ネスティングドールは伝統的なロシアおもちゃである。)
5. "The nesting of conditions can make the logic more difficult to understand."(条件のネスティングはロジック理解するのがより難しくすることができる。)
6. "Nesting boxes are used for storage."(ネスティングボックスは収納使用される。)
7. "The nesting of elements can make the design more intricate."(要素のネスティングはデザインをより複雑にすることができる。)
8. "Nesting chairs can be stacked for easy storage."(ネスティングチェアは簡単に収納するために積み重ねることができる。)
9. "The nesting of data structures can make the data more organized."(データ構造のネスティングはデータをより整理されたものにすることができる。)
10. "Nesting bowls are convenient for cooking."(ネスティングボウルは料理に便利である。)

ネスティング【nesting】


入れ子

読み方:いれこ
別名:ネスティング
【英】nesting

入れ子とは、構造化プログラミングにおいてプログラム構築する手法一つで、あるルーチンデータブロック中に別のルーチンデータブロックがはめ込まれることである。

ループ文の中のループルーチン内でにサブルーチンコール、関数呼び出し引数関数呼び出しを使うこと、コメントを含む文全体コメント化など、多く種類がある。


ネスティング

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/05/30 22:40 UTC 版)

マトリョーシカ人形
プログラムの記述と比較してみると似ていることが分かる(参照1)(参照2

構造化プログラミングにおけるネスティング: Nesting)、ネスト入れ子とは、プログラムの構造が再帰的に繰り返されて記述されること。このような構造をネスト構造: Nested structure)、入れ子構造と呼ぶ。この記事ではC言語風の擬似コードを用いるが、ネスティングの概念はC言語に限らない。また、名前空間などC言語にない機能についても記述している。

概要

ネスティングには主に次の3パターンが存在する。

例えば、二分木と呼ばれるデータ構造はデータ構造のネスティングの好例である。

制御構造におけるネスティング

制御構造分岐命令ループ命令)のネスティング。スコープが入れ子になっている。

条件文のネスティング

以下の例では条件式1を判定して判定結果が""であるなら条件式2を判定し、条件式2の判定結果も""なら条件式3を判定する。条件式3も同様に判定結果が""であるなら処理1、処理2、処理3を全て処理した後に入れ子から脱出するが、それまでに条件式2が""なら処理3だけを、条件式3が""なら処理2と処理3をして入れ子から脱出する。


C言語風での記述)

if (条件式1){
   if (条件式2){     // ここの「if」は一番上の「if」の入れ子
      if (条件式3){   // ここの「if」は一つ上の「if」と一番上の「if」の入れ子
         処理1;
      }
      処理2;
   }
  処理3;
}

ループ文のネスティング

基本的に上述の条件文と動きが似ているため、記述も似ている。ループ文同士での入れ子はループ文を多用するために、プログラミングのミスによるバグの一つである無限ループが発生しやすくなる。

一番外側から順番に条件式を判定して行き、条件式の値が満たされなくなるまで内側の処理を繰り返していく。

C言語風での記述)

for (int x = 0; 条件式1; x++){
   for (int y = 0; 条件式2; y++){   //ここの「for」は一番上の「for」の入れ子
      for (int z = 0; 条件式3; z++){ //ここの「for」は一つ上の「for」と一番上の「for」の入れ子
          処理1;
      }
      処理2
   }
   処理3;
}

ループ文と条件文が混合したネスティング

一番外側から順番に条件式を判定して行き、条件式の値が満たされなくなるまで内側の処理を繰り返していく。ただし外側から二番目のループ文では、条件式3の判定結果がのときは処理1を、のときは処理2を処理する。

C言語風での記述)

for (int x = 0; 条件式1; x++){
   for (int y = 0; 条件式2; y++){ //ここの「for」は一番上の「for」の入れ子
      if (条件式3){                //ここの「if」は一つ上の「for」と一番上の「for」の入れ子
          処理1;
      }
      else{
          処理2;
      }
  }
}

データ構造におけるネスティング

構造体クラスインタフェースにおけるネスティング。

構造体のネスティング

構造体がメンバとして何らかの構造体を持っている状態は、構造体をネストしていると言える。

struct Point
{
	int x;
	int y;
};

struct BitmapImage
{
	struct Point size;
	unsigned char *image;
};

副プログラムにおけるネスティング

サブルーチンプロシージャコルーチンにおけるネスティング。単に別のサブルーチンなどを呼び出すだけの場合や再帰呼び出しを指す場合もある。

サブルーチンのネスティング

以下の例はgccでのみコンパイル可能。

void message(void){
	void hello(){  }// ネストされた関数定義
	hello(); //ネストされた関数の呼び出し
}
//ここではhello()は呼び出せない

名前空間のネスティング

記述方法は先述のデータ構造の入れ子に酷似している。名前空間を分けることでサブルーチンなどの名称が競合するのを防止する。ちなみに、C言語には名前空間の機能はない。

namespace 名前空間1{
	namespace 名前空間2{
		int func(){} //名前空間1::名前空間2::func()のようにアクセスさせることが多い
	}
}

関連項目

プログラミング

その他

外部リンク


ネスティング

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/27 00:30 UTC 版)

HP-71B」の記事における「ネスティング」の解説

サブルーチン呼出し時の復帰スタックローカル環境確保されるため、ネスティングの深さ(レベル)はメインメモリ残量によって(のみ)制限を受ける。ただし、復帰スタックは、POPステートメント使用して1レベル分づつ破棄することができる。 FOR-NEXTループワーク領域ローカル環境確保されるため、FOR-NEXTループのネスティングの深さメインメモリ残量によって(のみ)制限を受ける。

※この「ネスティング」の解説は、「HP-71B」の解説の一部です。
「ネスティング」を含む「HP-71B」の記事については、「HP-71B」の概要を参照ください。

ウィキペディア小見出し辞書の「ネスティング」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ネスティング」の関連用語

ネスティングのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ネスティングのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2025実用日本語表現辞典 All Rights Reserved.
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【入れ子】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのネスティング (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのHP-71B (改訂履歴)、LESS (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS