ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

変数 (プログラミング)

索引 変数 (プログラミング)

プログラミングにおいて、変数(へんすう、variable)とは、プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 一人一人の人間が異なる名前によって区別されるように、一つ一つの変数も名前によって区別される。これにより、複数のデータを容易に識別することができる。変数名は一般に(字句的には)識別子である、ないし、変数の識別子のことを変数名という。一般に、変数が表しているデータをその変数の値(あたい)という。.

31 関係: 型システム型推論参照 (情報工学)参照透過性名前名前空間変数 (数学)定数 (プログラミング)予約語引数ローカル変数プログラミング (コンピュータ)プログラミング言語プログラム (コンピュータ)プロセスデータデータ型命名規則 (プログラミング)オブジェクト指向クロージャスコープソースコードサブルーチン動的スコープ値 (情報工学)C言語識別子関数型言語自由変数と束縛変数配列手続き型プログラミング

型システム

型システム(type system)とは、プログラミング言語において、その式などの部分が持つ値を、その種類(型(type)、データ型も参照)に沿って分類し、プログラムが正しく振る舞うこと、といった性質について保証する手法である。型システムは、型理論に基づいており、プログラミング言語の理論において最も確立された軽量形式手法である。.

新しい!!: 変数 (プログラミング)と型システム · 続きを見る »

型推論

型推論(かたすいろん)とはプログラミング言語の機能の1つで、静的な型付けを持つ言語において、変数や関数の型を宣言しなくてもそれを導くのに使われた関数の型シグネチャなどから自動的に型を決定する機構のこと。 推論に失敗するとその時点でエラーを報告できるため、少なくとも誤った型を用いる事によるバグは回避できる。また、記述をアルゴリズムに集中できるのでプログラムの抽象度が上がるというメリットもある。 代表的な型推論アルゴリズムとして、Hindley/Milner 型推論アルゴリズムがある。各々著名なコンピュータ科学者の名前からつけられた名前であるが、Hindley は論理学者として型推論システムを先に開発した。 型推論を持つ言語としてはHaskell、ML、Vala、F#、C#、Java、Scala、OCaml、D言語、Concurrent Clean、C++11、Swiftなどがある。静的型付け関数型言語のほとんどがなんらかの型推論の機能を持っている。.

新しい!!: 変数 (プログラミング)と型推論 · 続きを見る »

参照 (情報工学)

参照(さんしょう、reference、リファレンス)は、他の場所にあるデータを指している情報を含む小さなオブジェクトであり、それ自身の中に(指している)データ自体を含まない。参照の指す値を取り出すことをデリファレンス (dereference)と呼ぶ(間接参照も参照)。参照は様々なデータ構造を構成する基本要素であり、プログラム内の各部で情報をやり取りするための基本でもある。 なお、C++には、参照型というものがあるが、以下で説明するのはC++のそれではなく、一般概念である。C++の参照については、ポインタ (プログラミング)#参照を参照のこと。.

新しい!!: 変数 (プログラミング)と参照 (情報工学) · 続きを見る »

参照透過性

参照透過性(さんしょうとうかせい、Referential transparency)は、計算機言語の概念の一種である。ある式が参照透過であるとは、その式をその式の値に置き換えてもプログラムの振る舞いが変わらない(言い換えれば、同じ入力に対して同じ作用と同じ出力とを持つプログラムになる)ことを言う。具体的には変数の値は最初に定義した値と常に同じであり、関数は同じ変数を引数として与えられれば同じ値を返すということになる。当然変数に値を割り当てなおす演算である代入 (Assignment) を行う式は存在しない。このように参照透過性が成り立っている場合、ある式の値、例えば関数値、変数値についてどこに記憶されている値を参照しているかということは考慮する必要がない、即ち参照について透過的であるといえる。 参照透過性が成り立つ言語は式の値がプログラムのテキストから定まるという特徴から宣言型言語 (Declarative language) と呼ばれたり、関数の数学的性質が保たれるという特徴から純粋関数型言語 (Pure functional language) と呼ばれたりする。一方変数の値の変更が認められているような参照透過的でない言語を手続き型言語と呼ぶ。ただ、手続き型言語は機械語プログラミングとの繋がりという歴史的な事情により手続きが式でなく命令列で表現されたことから命令型言語と呼ばれることもあり、そのような場合との対比で単に式(例えば関数や変数の組み合わせ)でプログラムが表現されているだけの言語、あるいは高階関数の仕組みを備えた言語をひっくるめて、代入が可能であるかないかを問わず、関数型言語と呼ぶことも多い。結局現状では単に関数型言語という場合は参照透過的な言語(即ち純粋関数型言語)とそうでない関数型言語を両方とも含むということになっている。 また以上に関連して分散処理を記述する場合に、あるデータがどのノード上にあるかを意識せず透過的にアクセスできるという性質も参照透過性と呼ばれる。.

新しい!!: 変数 (プログラミング)と参照透過性 · 続きを見る »

名前

名前(なまえ、όνομα、nomen、name)とは、物や人物に与えられた言葉のことで、対象を呼んだりする際に使われる。名称、あるいは単に名とも言う。名前をつけることを「名付ける」「命名(めいめい)する」という。名前として使われる言葉を名詞という。 多くの場合、名前とは人名である。また、人名のうち、家族を表す姓(名字)でない方、個人を識別する名を指すことも多い。ただし、名ではなく姓を指して「名前」と呼ぶこともある。.

新しい!!: 変数 (プログラミング)と名前 · 続きを見る »

名前空間

名前空間(なまえくうかん)はNamespaceの訳語で、名前の集合を分割することで衝突の可能性を低減しつつ参照を容易にする概念である。 この集合は、全事象の元の全ての組み合わせ可能なものからなる集合全体および物理的な名称を指すことが可能である。つまり英字・数字・記号などを組みあわせて作られる名前全てを含む集合である。名前に結び付けられる実体(型や変数)は、名前がそれぞれどの集合(空間)に属するか指定されることで一意に定まる。名前空間が異なれば同じ名前でも別の実体に対応付けられる。.

新しい!!: 変数 (プログラミング)と名前空間 · 続きを見る »

変数 (数学)

数学、特に解析学において変数(へんすう、variable)とは、未知あるいは不定の数・対象を表す文字記号のことである。代数学の文脈では不定元(ふていげん、indeterminate)の意味で変数と言うことがしばしばある。方程式において、特別な値をとることがあらかじめ期待されている場合、(みちすう)とも呼ばれる。また、記号論理学などでは(変数の表す対象が「数」に限らないという意味合いを込めて)変項(へんこう)とも言う。.

新しい!!: 変数 (プログラミング)と変数 (数学) · 続きを見る »

定数 (プログラミング)

プログラミングにおいて定数(「ていすう」または「じょうすう」、Constant)とは、変数同様プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 ただし変数とは異なり、一度初期化するとその内容を変更することはできない。よって、内容が変化しないことが保証される名前が必要なときに使用される。 ソースコードに直接記述するデータ(リテラル)のことを指して定数と呼ぶことがあり、標準規格での用語がそうなっている言語もある。しかし、この記事で扱う「定数」はデータに名前を与えるものであり、基本的にリテラルとは別である。リテラルについてはそちらの記事を参照。なお、言語によっては、定数を初期化する式にリテラルあるいはリテラルと演算子等のみから成る式しか許さないことがある、というような関連はある。.

新しい!!: 変数 (プログラミング)と定数 (プログラミング) · 続きを見る »

予約語

予約語(よやくご、reserved word)とは、プログラミング言語において字句的には識別子(変数名、関数名、クラス名など)としてのルールを満たしているにもかかわらず、識別子にならない字句要素。 似ている言葉としてキーワードがある。多くのプログラミング言語において予約語とキーワードはほぼ同じものを指すため、しばしば混同されるが両者は異なる概念である。キーワードは言語仕様上特別な意味を持った語のことである。キーワードであっても予約語でないこともあるし、その逆もある。たとえば ECMAScriptでは、class は予約されており予約語だが言語で使われておらずキーワードではない(ECMA-262 では、キーワードは予約語の部分集合で、言語で制御構造などの意味を持つ予約語がキーワードである。Java では使っていなくてもキーワードであり、goto もキーワードである)。SQLには予約されたキーワードと予約されていないキーワードがある。例にも出てきたように、個々の規格によっても両者それぞれ微妙に意味が違うこともある。 予約されているのでユーザーは使えない識別子(つまり、使えないだけで、識別子ではある)という意味で(たとえば、処理系で内部的に使う名前と同じであるとか)「予約語」という語を使っている規格もある。この場合キーワードと予約語は別のものである。 FORTRAN、PL/I のように予約語を持たないプログラミング言語も存在する。 また、共通言語基盤(共通言語仕様 (CLS))にしたがって実装されたC#やVB.NETでは予約語を識別子として利用する構文が用意されている。.

新しい!!: 変数 (プログラミング)と予約語 · 続きを見る »

引数

引数(ひきすう)は、数学における関数やコンピュータプログラムにおける手続きにおいて、その外部と値をやりとりするための特別な変数、あるいはその変数の値のことである。 数学や最適化問題に関するそれ(「パラメータ」とカタカナで表現されることが多い)については「媒介変数」の記事を参照のこと。以下は専らコンピュータプログラミングに関して説明する。 関数・サブルーチン・メソッド等を定義する時に、外部から値を渡される特別な変数として指定されるのが仮引数。関数(等)を呼出す式において、仮引数に対応する式(あるいはその値)が実引数である。実行時には、実引数の値を仮引数が受け取る。 「引数」を「いんすう」と読む読み方もあるが、術語としては変則的に湯桶読みして「ひきすう」としている。数学分野で因数との取違えを防ぐためといった理由もある。.

新しい!!: 変数 (プログラミング)と引数 · 続きを見る »

ローカル変数

ーカル変数(局所変数、local variable)とは、プログラムの一部分でしか利用できない変数のことである。一般的にグローバル変数と対比される。ローカル変数の定義はプログラミング言語によって異なるので、詳細な説明は言語別の項に譲る。.

新しい!!: 変数 (プログラミング)とローカル変数 · 続きを見る »

プログラミング (コンピュータ)

ンピュータのプログラミング(programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。.

新しい!!: 変数 (プログラミング)とプログラミング (コンピュータ) · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: 変数 (プログラミング)とプログラミング言語 · 続きを見る »

プログラム (コンピュータ)

ンピュータプログラム(英:computer programs)とは、コンピュータに対する命令(処理)を記述したものである。コンピュータが機能を実現するためには、CPUで実行するプログラムの命令が必要である。 コンピュータが、高度な処理を人間の手によらず遂行できているように見える場合でも、コンピュータは設計者の意図であるプログラムに従い、忠実に処理を行っている。実際には、外部からの割り込み、ノイズなどにより、設計者の意図しない動作をすることがある。また設計者が、外部からの割り込みの種類を網羅的に確認していない場合もある。.

新しい!!: 変数 (プログラミング)とプログラム (コンピュータ) · 続きを見る »

プロセス

プロセスとは、情報処理においてプログラムの動作中のインスタンスを意味し、プログラムのコードおよび全ての変数やその他の状態を含む。オペレーティングシステム (OS) によっては、プロセスが複数のスレッドで構成される場合があり、命令を同時並行して実行する。.

新しい!!: 変数 (プログラミング)とプロセス · 続きを見る »

データ

データ(data)とは、事実や資料をさす言葉。言語的には複数形であるため、厳密には複数の事象や数値の集まりのことを指し、単数形は datum(データム)である。.

新しい!!: 変数 (プログラミング)とデータ · 続きを見る »

データ型

データ型(データがた、)とは、(コンピュータにおける)データ(値)の種類に関する分類である。データタイプとも。 具体的にいうと、たとえば 0, 1, 2, -42 といったような値は整数型であり、"foo", "Hello" といったような値は文字列型である。プログラミングなどにおいて、まずデータオブジェクトや関数などの「値」について、またさらに、それらに関連付け(束縛)される変数や定数、リテラル、それらを組合せる演算子、さらにそれらからなる式といった構文上の要素の型が、データ型の議論の対象となる。.

新しい!!: 変数 (プログラミング)とデータ型 · 続きを見る »

命名規則 (プログラミング)

命名規則(めいめいきそく、英: Naming conventions)とは、プログラミングを行う際に識別子の名称となる文字列を決定するためのルールを定めたもの。ネーミング規則、ネーミング規約、命名規約とも呼ぶ。 通常は、ソースコードの可読性や視認性の向上、プログラミング効率の改善などを目的としている。 命名規則は、プログラミング言語の仕様、メモリサイズ等のハードウェア的な制約、エディタや IDE の機能などに影響を受けていることがある。.

新しい!!: 変数 (プログラミング)と命名規則 (プログラミング) · 続きを見る »

オブジェクト指向

ブジェクト指向(オブジェクトしこう)とは、オブジェクト同士の相互作用として、システムの振る舞いをとらえる考え方である。英語の object-oriented (直訳は、「対象物志向の」「目的重視の」という意味の形容詞) の日本語訳である。 オブジェクト指向の枠組みが持つ道具立ては、一般的で強力な記述能力を持つ。複雑なシステム記述、巨大なライブラリ(特に部品間で緊密で複雑な相互関係を持つもの)の記述においては、オブジェクト指向の考え方は必須である。.

新しい!!: 変数 (プログラミング)とオブジェクト指向 · 続きを見る »

クロージャ

ージャ(クロージャー、closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数で実現している。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートした言語のコーディングでは、関数の中に関数を定義することができる。その際に、外側の関数で宣言された変数を内側の関数で操作することができる。主な利点としてはグローバル変数の削減が挙げられる。 典型的にはクロージャは、外側の関数(以下、エンクロージャ)の内側の関数リテラルや、ネストした関数定義によって必要になる。言語により、そのような内側の関数内に出現する自由変数(内側の関数の仮引数でもなく、内側の関数自身のローカル変数でもない変数)の扱いは異なるが、自由変数が、その呼び出しにおけるエンクロージャのその名前の変数を、レキシカルに参照するのがクロージャであり、実行時に外部の関数が実行された際、クロージャが形成される。クロージャは内部の関数のコードとエンクロージャのスコープ内の必要なすべての変数への参照からなる。 クロージャはプログラム内で環境を共有するための仕組みである。レキシカル変数はグローバルな名前空間を占有しないという点でグローバル変数とは異なっている。またオブジェクトのインスタンス変数とは、オブジェクトのインスタンスではなく関数の呼び出しに束縛されているという点で異なる。 クロージャは関数型言語では遅延評価やカプセル化のために、また高階関数の引数として広く用いられる。 例: クロージャを使ったカウンタの例を Scheme で示す。 (define (new-counter) (define c (new-counter)) (display (c)); 1 (display (c)); 2 (display (c)); 3 関数 new-counter の中でクロージャが使用されている。c に代入された無名関数は new-counter 内のローカル変数 count を参照している。c を呼び出すたびに count はインクリメントされていく。.

新しい!!: 変数 (プログラミング)とクロージャ · 続きを見る »

スコープ

プログラミングでのスコープ(scope, 可視範囲)とは、ある変数名や関数名といった名前を参照できる範囲のこと。ある範囲の外に置いた変数等は、通常、その名前だけでは参照できない。このときこれらの変数はスコープ外である、「見えない」といわれる。 プログラミングでは、予期しない誤作動を避けるためにも、それぞれの作業段階で必要のない名前はできるだけ参照されないようにすることが望ましい(特に、大域変数は便利な場合もあるが、危険でもある)。たとえば、CERT C コーディングスタンダードには、「変数と関数の有効範囲を最小限にする」(DCL19-C.)というレコメンデーションがある。.

新しい!!: 変数 (プログラミング)とスコープ · 続きを見る »

ソースコード

青で示されているのが有効なコードである。 ソースコード(source code)とは、コンピュータプログラミング言語で書かれた、コンピュータプログラムである文字列(テキストないしテキストファイル)のことである。.

新しい!!: 変数 (プログラミング)とソースコード · 続きを見る »

サブルーチン

ブルーチン(subroutine)は、コンピュータプログラミングにおいて、プログラム中で意味や内容がまとまっている作業をひとつの手続きとしたものである。繰り返し利用されるルーチン作業をモジュールとしてまとめたもので、呼び出す側の「主」となるもの(メインルーチン)と対比して「サブルーチン」と呼ばれる。サブプログラム (subprogram) と呼ばれることもある。また、「サブ」をつけずに「ルーチン」と呼ぶこともある。 プログラムのソース中で、繰り返し現れる作業をサブルーチン化することで、可読性や保守性を高く保つことができる。繰り返し現れる作業でなくても、意味的なまとまりを示すためにサブルーチン化することもある。また、キャッシュのような階層的メモリの設計を持つコンピュータ(現在のパソコンやワークステーションなどほぼすべて)では、よく使われるサブルーチンがキャッシュに格納されることで高速な動作を期待できる。.

新しい!!: 変数 (プログラミング)とサブルーチン · 続きを見る »

動的スコープ

動的スコープ、ダイナミックスコープ(dynamic scope)とは、プログラミング言語におけるスコープの一種である。 動的スコープは、実行時の親子関係の子側(呼び出された側)から親側(呼び出し側)のスコープを参照できるスコープである。このとき参照されるのは、親子関係を親側に辿り、より近いブロックにある変数である。以下の疑似コードでは: ブロックBから呼び出されたブロックAは、ブロックBで定義されている変数xを参照できる。一方、ブロックCから呼び出されたブロックAは、ブロックBで定義されている変数xは参照できない。 動的スコープは強力な反面、ミスを招きやすいため使用に注意が必要である。例えば以下の疑似コードでは呼び出し元ブロックによって変数の値が変化することを示している。 動的スコープの例としては古典LISPやEmacs Lisp、LOGO、Perl(「local」宣言した変数)、Bash(関数内で「local」宣言した変数)などがある。.

新しい!!: 変数 (プログラミング)と動的スコープ · 続きを見る »

値 (情報工学)

プログラミング言語における値(あたい)について説明する。値は、何らかの式を評価した結果である。式はデータ型を持ち、評価結果は内部的にはビット列になる。データ型が異なれば、同じビット列が異なる値(意味)を持つこともある。例えばあるビット列は整数、浮動小数点数または文字列として解釈されることがある。 いくつかの種類の値はほとんどのプログラミング言語で共通してサポートされている。様々な数値表現などがその例である。一方、あまり広くサポートされていないものもある。Pascalにある集合型などがその例である。.

新しい!!: 変数 (プログラミング)と値 (情報工学) · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: 変数 (プログラミング)とC言語 · 続きを見る »

識別子

識別子(しきべつし、identifier)とは、ある実体の集合の中で、特定の元を他の元から曖昧さ無く区別することを可能とする、その実体に関連する属性の集合のことをいう。ほぼすべての情報処理システムで何らかの識別子が使われており、識別子を利用することで機械的な処理が可能になる。.

新しい!!: 変数 (プログラミング)と識別子 · 続きを見る »

関数型言語

関数型言語(かんすうがたげんご、functional language)は、以下に述べる関数型プログラミングを基本スタイルとして推奨する機能を持つプログラミング言語、関数型プログラミング言語の略称である。.

新しい!!: 変数 (プログラミング)と関数型言語 · 続きを見る »

自由変数と束縛変数

数学や形式言語に関連する分野(数理論理学と計算機科学)において、自由変数(または自由変項、free variable)は数式や論理式で置換が行われる場所を指示する記法である。この考え方はプレースホルダーやワイルドカードにも関連する。 変数x は、例えば次のように書くと 束縛変数(または束縛変項、bound variable)になる。 あるいは これらの命題では、x の代わりに別の文字を使っても論理的には全く変化しない。しかし、複雑な命題で同じ文字を別の意味で再利用すると混乱が生じる。すなわち、自由変数が束縛されると、ある意味ではその後の数式の構成をサポートする作業に関与しなくなる。 プログラミングにおいては、自由変数とは関数の中で参照される局所変数や引数以外の変数を意味する。.

新しい!!: 変数 (プログラミング)と自由変数と束縛変数 · 続きを見る »

配列

この記事では、コンピュータ・プログラムにおいて配列(はいれつ、array)と呼ばれているデータ構造およびデータ型について説明する。計算科学方面ではベクトルという場合もある。また、リストも参照。一般に、添え字で個々の要素を区別する。.

新しい!!: 変数 (プログラミング)と配列 · 続きを見る »

手続き型プログラミング

手続き型プログラミング(てつづきがたプログラミング、Procedural programming)は、「手続き呼び出し」の概念に基づくプログラミングパラダイムの一種。命令型プログラミングと同義に扱われることが多い。「手続き」はプロシージャ、ルーチン、サブルーチン、メソッド、関数(数学の関数とは異なる。)など様々な呼称があるが、実行すべき一連の計算ステップを持つものと定義できる。手続きはプログラム実行中の任意の時点で呼び出すことができ、他の手続きからの呼び出しも、自分自身からの呼び出し(再帰呼び出し)も含まれる。 手続き型プログラミングは単純な逐次型プログラミングや非構造化プログラミングよりも多くの場合よりよい選択である。非構造化プログラミングでは複雑なコードを組むことは困難であり、保守性が悪い。手続き型プログラミングには、以下のような利点がある.

新しい!!: 変数 (プログラミング)と手続き型プログラミング · 続きを見る »

ここにリダイレクトされます:

静的変数

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »