2011-10-26 1 views
2

ラングは、空白の必要条件が異なります。たとえば、pythonではすべての間隔を厳密に指定します。これらの要件をマニュアルやその他の方法で特定するための一般的な手順を提供できる場合は、参考にしてください。特定の例 - bash - は非常に役に立ちます。これはbashの男性へのリンクです:https://www.gnu.org/software/bash/manual。あなたはそこから答えてくれるかもしれませんが、情報をどのように探したかを示してください。これがポイントです - 事前に知らなくても、langの空白の要件について学ぶための効率的な手順を見つけること。指定されたlangの空白の要件に関する正確で明確な情報を見つける方法(例:bash?

答えて

1

私はbashに特別なスペース要件はないと思います。しかし、そこにスペースが義務付けられている場所 - 例えば:

if [ "a$x" != "a" ]; then 
     ... 
fi 

ライティング[後のスペースのない「$ xに」「[」「[」以来、仕事テストユーティリティへのリンクが一般的ではありませんでしょうしたがって、bashの後に空白がなければ、実行可能な$ a実行可能ファイルが検索されます。しかし、これは特別なケースです。私は、bashにスペースについての要件はもうないとは思わない。

スペース/タブを言語の不可欠な部分として使用するプログラミング/スクリプト言語はほとんどありません。ルールのコマンドの 例えばmakefileの使用]タブ:

target: prerequisite1 prerequisite2 
    command1 # the line starts with tab 
    command2 # the line starts with tab 

コードを理解するために、スペースに依存している別の言語は、あなたが言及したようであるのpythonです。

他の言語ではスペース要件は指定されていませんが、わかりやすいようにインデントを使用する必要があります。最新のIDEはすべて、自動的にコードをインデントするのに役立ちます。言語のこのグループのかなり大きな私見です - C/C++/JAVA/bashの/ ....

例のCコードの場合:

int foo(){int i=0;return i;} 

int foo() 
    { 
      int i = 0; // compiler do not need the spaces (indentation) in the beginning of the line, 
         // It is required for programmer to easy understanding the code. 
      ... 
      return i; 
    } 

あなたのコードのようにそれを書きますしかし、構文が異なる他の言語があります。 html/sed/...スペースは、それらが使用されている式の部分によって異なる意味を持ちます。

+0

あなたの答えは、空白に基づいてlangsを分類するbashの詳細を議論することで役に立ちました。 – user93200

+0

@ user93200ようこそ。あなたを満足させる人がいなければ、何の答えも受け入れないようにしても大丈夫です:) – dimba

1

ほとんどの言語では、空白は単語区切り記号として使用されます。したがって、bashマニュアルでは、まず「単語」を検索します。最初の出来事は私を「単語分割」セクションに導き、そこで私は$IFSに出会うでしょう。そして、それが何であるかをさらに調べるでしょう。

Pythonの空白を使ってコードブロックを定義するので、Pythonの例は実際には選択できません。したがって、空白は単語区切り文字以外にも言語構文で重要な役割を果たします。

このようなトピックのルーツを知りたい場合(サイド・ノートとして、なぜかっこや他の記号よりも白いスペースがもっと興味深いのは分かりません)、文法を探してくださいあなたが興味を持っている言語の定義と、あなたが追跡しているシンボルが実際に果たしている役割を見てください。

言語に関する明白な「空白の要件」を見つけることはほとんどありませんが、Pythonのような空白の制約がたくさんある場合や、括弧の制約が多い場合など、多くの構文要件があります。 Lispのように)。

+0

あなたの答えは、bashの質問に答えるため、そしてlispとの比較であなたが行った手順に対処すると役に立ちました。文法の定義を調べる一般的な手順は理にかなっています。唯一の難点は、理解が難しくなるように文法を表現したり編成することができることです。 これまでの2つの答えは満足しており、それぞれにメリットがあるので、どちらか一方を受け入れて上に置くことはしません。 – user93200

関連する問題