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

Evalとブロック (プログラミング)

ショートカット: 違い類似点ジャカード類似性係数参考文献

Evalとブロック (プログラミング)の違い

Eval vs. ブロック (プログラミング)

eval(イーバル)はいくつかのプログラミング言語が持つ、文字列を式として評価する関数、または複数の文をプログラム中のあるコンテキストで実行するサブルーチンである。 evalの類の機能はコンパイラ言語よりもインタプリタ言語でより一般的である。なぜならコンパイラ言語でこのような機能を実現するには、プログラム自体に言語処理系や(変数名などの)実行時情報を埋め込む必要があるからである。evalに近い機能を実現しているコンパイラ言語も存在する。. プログラミング言語におけるブロック(block)は、コードのまとまり(コードブロック)のことで、「文 (プログラミング) 」(statement)から成る言語では複数個(0個以上~2個以上。言語により異なる)の文がまとまってひとつの文になっているブロックを複文(compound statement)と呼ぶものもある。「区」という訳語を使っている仕様もある。雰囲気としては自然言語における段落にも似ているが、現代言語学を知っていれば、プログラミング言語における「文」と「ブロック」の関係は、言語学でいう「語」と「句」の関係に近い。 なおプログラミング関係で、これと全く違うものに、他にも「ブロック」という語を使うものがいくつかあるので注意。入出力について「待たされる(ブロックされる)」という意味や、一種のクロージャの実装であるC言語の拡張のブロックなどである。 ブロックには、C言語に代表される、で囲まれるスタイル、ALGOLにはじまり、その影響を受けたPascalやAdaなど、beginとendのようなキーワードで囲むスタイル、Pythonなどのオフサイドルールによるスタイルなどがある。 自然言語の段落と異なり、ブロックは入れ子にすることができる(つまり、言語学でいう「語」と「句」のほうに近い、とはそういうことである)。すなわち、ブロック内にブロックを作成することができる(正確な理解としては、ブロックは文の一種であり、ブロックの中身は文の並びであるから、ブロックの中身にまたブロックが現れることもできる、ということになる。プログラミング言語の学習においては、絶対的に不正確な理解に直結する自然言語からの類推ではなく、プログラミング言語は形式言語なのであるから、BNFなど形式的な(フォーマルな)仕様などを理解できるように努めたほうが、結果として早道である)。 C言語などでは、ブロックは変数のスコープ(可視範囲。生存期間(エクステント)とは違うので注意)の区切りである。すなわち、あるブロック内で定義された変数には((前置単項 & 演算子と)ポインタ等により、エスケープされない限り(エスケープ解析を参照))ブロック外からはアクセスできない。JavaScriptは、以前はブロックは変数のスコープに影響しないという仕様だったが、ECMAScript 6th Edition(ECMAScript 2015)で導入された let declaration (let宣言) による変数は、それが宣言されたブロックの最後までが可視範囲となる。 SmalltalkやRubyにある似たようなものは、ブロックと呼んではいるが、複文ではない別のもので、メソッド呼び出しに付加する特別な引数のようなもの、である。Rubyではそれ自体はオブジェクトではないが、Smalltalkではオブジェクトである。なお、Rubyにおける複文に相当するものとしては、if~endなどにおいて、ifそれ自体がコードのかたまりの開始のキーワードとして機能するというEiffel風のスタイルを採っている。.

Evalとブロック (プログラミング)間の類似点

Evalとブロック (プログラミング)は(ユニオンペディアに)共通で5ものを持っています: プログラミング言語JavaScriptPythonRuby文 (プログラミング)

プログラミング言語

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

Evalとプログラミング言語 · ブロック (プログラミング)とプログラミング言語 · 続きを見る »

JavaScript

JavaScript(ジャバスクリプト)とは、プログラミング言語のひとつである。Javaと名前が似ているが、全く異なるプログラミング言語である(後述の#歴史を参照)。 JavaScriptはプロトタイプベースのオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。 ウェブブラウザ上で動作し動的なウェブサイト構築やリッチインターネットアプリケーションの開発に用いられる。また、2010年以降はnode.jsなどのサーバサイドJavaScript実行環境や各種ライブラリの充実により、MEANに代表されるように、Web開発の全ての領域で活用されるようになってきている。.

EvalとJavaScript · JavaScriptとブロック (プログラミング) · 続きを見る »

Python

Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。.

EvalとPython · Pythonとブロック (プログラミング) · 続きを見る »

Ruby

Ruby(ルビー)は、まつもとゆきひろ(通称 Matz)により開発されたオブジェクト指向スクリプト言語であり、スクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。 また日本で開発されたプログラミング言語としては初めて国際電気標準会議で国際規格に認証された事例となった。.

EvalとRuby · Rubyとブロック (プログラミング) · 続きを見る »

文 (プログラミング)

プログラムにおける文(ぶん、statement)とは、コンピュータプログラミング言語によるプログラムを構成するもののひとつで、一般に手続きを表すものである。 文の種類(意味)は、だいたいの類似はあるが、詳細はそれぞれのプログラミング言語によって異なる。 文の構文もそれぞれのプログラミング言語によって異なる。初期のFORTRANやCOBOLのように1行に1つの文を書く言語、C言語や多くのスクリプト言語のように文終端記号(セミコロンなど)で終端する言語、Pascalのように文と文との間の区切り記号で区切る言語などがある(終端記号と区切り記号の違いは、並びの最後のあとに記号が入るか入らないかである(厳密にはここで論じているのは文ではなく複文の構文である。またC言語についての説明は間違っており、例えばif文それ自体などにはセミコロンは現れない(セミコロンのみの「空文」、「do-while文」、そして式の後にセミコロンを付けた「式文」、などがC言語において「セミコロンが最後に付いている文」である。宣言などの後にもセミコロンが付く(が、C言語では宣言は文とは違う「宣言というもの」である)))。 1行1文の言語にあっては、行末または行頭に、言語で指定された記号を付けることで、行が継続しているものとして(継続行)、複数行にわたって文を記述することができるものもある。 類似する言葉として'''式'''がある。式は、必ずしも手続きを表さず、文とは異なり値を持つ(多くの手続き型言語では式にも手続きがともない、副作用という。特にC言語は代入が式である。また逆に言語によっては文も値を持つものもある)。 大まかに言えば、一つ以上の式や関数呼び出しで作られる、手続き構造の単位が文である、と考えてほぼ差し支えない。if文のように分岐構造を表すもの、代入文のように変数の更新を表すものなどが代表例である。構造化プログラミング以降の言語では、複数の文からブロック(「複文」とも言う)を構成できるのが一般的である。 if文などにおける構文の流儀には大きく2通りがあり、ひとつはC言語のような、 という規則のもので(というような文法だと多くのプログラマが信じているようだが、実際には全く違っている(前述。あるいは規格票を参照))、dangling else問題(通常は困るものではない。:en:Dangling elseも参照)の存在が知られている。 もうひとつの流儀は、古くはPerl、近年ではGoがこのようになっているが、 のように、任意の文を直接書くことができないようにしたものである。dangling else対策のひとつでもある。.

Evalと文 (プログラミング) · ブロック (プログラミング)と文 (プログラミング) · 続きを見る »

上記のリストは以下の質問に答えます

Evalとブロック (プログラミング)の間の比較

ブロック (プログラミング)が29を有しているEvalは、29の関係を有しています。 彼らは一般的な5で持っているように、ジャカード指数は8.62%です = 5 / (29 + 29)。

参考文献

この記事では、Evalとブロック (プログラミング)との関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »