0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

課題を進めていく中で「?」の用語だった「ネスト」について調べたのでアウトプットしたいと思います。少しでも参考になれば幸いです。

ネストについて

ネストの語源

torinosu.jpg

「ネスト」という言葉は、英語の「nest」から来ています。「nest」は鳥の巣を意味し、そこから転じて「入れ子構造」や「何かの中に何かを入れる」という意味で使われるようになっているそうです。
英語では「nest」や「nesting」と表記されます。

ネスト使用場面

  • プログラミング
    プログラミングにおいて、ある構造の中に同じ種類の構造を持つ場合に使用されます。
     例: ネストされたループ(ループの中に別のループ)、ネストされた関数(関数の中に別の関数)、ネストされた条件文(if文の中に別のif文)など。

  • HTML/CSS
    HTMLやCSSでは、タグやセレクタの入れ子構造を指します。
     例: <div>タグの中に<p>タグを入れる、CSSで複数のセレクタをネストして書く。

  • ファイルシステム
    ディレクトリ(フォルダ)構造において、フォルダの中にさらにフォルダを作成すること

  • 数式やデータ構造
    数学やコンピュータサイエンスにおいて、関数やデータ構造が入れ子になっている場合に使われます。
     例: ネストされた配列やオブジェクト。

似たような言葉

  • 入れ子(いれこ)
    この言葉も同様の意味で使われ、特に物理的な物体の入れ子構造を指すことが多い

  • 階層構造(かいそうこうぞう)
    ネスト構造と似ていますが、より広義に使われることがあります。階層構造は一般に、階層的に組織されたデータや情報の構造を指します。

  • 埋め込み(うめこみ)
    似たような意味で使われることがありますが、これは主に何かを別のものの中に入れることを強調します。

プログラミング

for i in range(5):  # 外側のループ
    for j in range(3):  # 内側のループネストされたループ
        print(i, j)
  • for i in range(5):は、外側のループで、iが0から4までの値を取ります
  • for j in range(3):は、内側のループで、外側のループの各反復に対して実行されます。jは0から2までの値を取ります
  • print(i, j)は、iとjの現在の値を出力します
# 実行結果
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
3 0
3 1
3 2
4 0
4 1
4 2
  • 外側のループがiの値を0から4に変化させる間、内側のループがそのたびにjの値を0から2に変化させることで、すべての組み合わせが出力されることとなる

HTML

<div>  <!-- 外側の要素 -->
    <p>ネストされた段落</p>  <!-- 内側の要素 -->
</div>
  • <div>は、外側のHTML要素で、一般的に他の要素をグループ化するために使われます
  • <p>は、内側のHTML要素で段落を示します。この場合、<p>タグは<div>タグの内部にあります
  • ブラウザ上では「ネストされた段落」というテキストが段落として表示されることとなります

## さいごに
「ネスト」について簡単にまとめてみました。何気なくコードを入力していてもその行動?構造について言葉で説明する際、やはり用語の理解は必要不可欠なんだなと感じています。
用語全集みたいなのほしい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?