2017-12-04 33 views
0

私はこの声明に出くわしました。彼が単語を正しく使用しているかどうかはわかりませんが、私はそれを以前に見てきましたが、完全に理解していません。定義:「操作」?

静的型付けと動的型付け言語の主な違いは、操作は、コンパイル時または実行時にチェックを受けるかどうかです。

「操作」とは、CSに関して正確には何を意味しますか?

私は事業者に精通だとそれが値を計算するためにオペレータを使用しているため2 + 2は、「操作」数学的にであることを知っています。

しかし、「操作」は値、式、およびステートメントとどのくらい正確に関係していますか?

いずれのステートメントも操作ですか? print 'hello world'

動作中の値/式はありますか? 'hello world'

+1

あなたはこれをあまりに多く読んでいます。それは単に「操作」という英語の標準的な意味です。何かに何かをさせるものです。 –

答えて

2

一般に、変数の値を評価する式は、その変数に対する「操作」と言えるでしょう。基本的に、変数の使用。

動的言語が何をしているか考えてみると意味があります。実行時に変数をイントロスペクトして、その変数を「操作」する必要があります。静的型付き言語はイントロスペクトする必要はありません。コンパイル時に型を「知っています」。

恒等式(xまたは"hello world")も、明白な目的がないものの、変数の評価とみなされます。実行時に非インタラクティブな環境で最適化されている可能性があります。

+0

は意味があります。いずれの例(問題の場合)が操作であるかどうかまだ不思議ですか?変数が関与する必要がありますか? – JBallin

+0

も5 + '3'操作ではありませんか?それは変数を伴わず、ランタイムの前に「チェックされた」ものの1つになります。 – JBallin

+0

"任意の表現"と言う方がいいかもしれません。 –