タグ付けされた質問 「syntax」

構文は、言語で正しく構造化されたプログラムを作成する方法を定義する一連の規則を指します。プログラムの意味や解釈は明示的には扱いません。

9
代入演算子に値を返すことの利点は何ですか?
JavascriptとPHPの両方を置き換える言語を開発しています。(これで問題が発生することはありません。これらの言語のいずれにも大規模なインストールベースがあるわけではありません。) 変更したいことの1つは、代入演算子を代入コマンドに変え、戻り値を使用する機能を削除することでした。 x=1; /* Assignment. */ if (x==1) {} /* Comparison. */ x==1; /* Error or warning, I've not decided yet. */ if (x=1) {} /* Error. */ これは、Cの人々が愛している1行関数が機能しなくなることを意味します。私の個人的な経験を超える証拠はほとんどありませんでしたが、これが起こったのはほとんどの場合、実際に比較操作を目的としたものでした。 またはそれは?代入演算子の戻り値の実用的な用途は、簡単に書き直すことができませんか?(このような概念を持つ言語の場合。)

30
頻繁に使用するプログラミング言語で最も嫌いな構文要素は何ですか?[閉まっている]
プログラミング言語がどれほど愛されていても、その中にはあまり良いものではないいくつかの詳細が常にあります。 この質問では、特に構文要素に焦点を当てたいと思います。頻繁に使用するプログラミング言語(お気に入りのプログラミング言語、または職場での使用を余儀なくされている言語)で、最も読みにくい、不明瞭、不便、または不快な構文要素はどれですか。

10
すべての関数呼び出し/ブロックが個別のスレッドで実行されるプログラミング言語?[閉まっている]
私は現在、すべての関数呼び出し/新しいブロック(if句、ループなど)が別のスレッドで動作するという考え方で、楽しみのためにプログラミング言語を作成しています。新しいスレッドを作成する代わりに、標準では自動的にそれを行う必要があります。メインスレッドで実行する場合は、それを指定する必要があります。 私はマルチスレッドの並列プログラミングについて知らされていませんが、基本(未来、スレッドセーフオブジェクト)は知っています。したがって、そのような言語がどのように構文的に賢く見えるのか、そもそも可能であるのかと疑問に思っています 目標は、それを「有用」にすることではなく、それを楽しむことと学習体験のためのものです。 (投稿する場所が間違っている場合は申し訳ありません。もしそうであれば、私のような質問が許可されている適切な場所を教えていただければ幸いです。)

12
Trileanの使用(True、False、??)を見ますか?[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 時々、trueまたはfalseを返す関数があります。ただし、3つの可能な値の方が意味がある場合があります。 一部の言語では、これらのケースは整数または例外を使用して処理されます。 たとえば、ユーザーが18歳以上の場合、ユーザーの年齢を処理する必要があります。そして、あなたはこのような機能を持っています。 if(user.isAdult(country_code)){ //Go On }else{ // Block access or do nothing } しかし、アプリの作成方法によっては、誕生日フィールドが不完全な場合があります。次に、この関数は未決定の何かを返す必要があります。 switch(user.isAdult()){ case true: // go on break; case undetermined: //Inform user birthday is incomplete case false: //Block access } 先ほど述べたように、ExceptionsとIntでそれを処理できますが、いくつかのホーム定義定数を使用する代わりに、言語にtrue、false、未定の埋め込みを含めるのは非常にセクシーです。
22 syntax 

2
なぜCはポインターにアスタリスクを使用するのですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私は今Cについて学んでいます。 作成者*が実際にポインターのように見えるシンボル()ではなく、ポインターのシンボルとしてアスタリスク()を選択したのは奇妙に思えます->。 逆参照と関数ポインターの混乱を考慮すると、アスタリスクを使用する歴史的、または実用的な理由がありますか?
21 c  history  syntax 

4
Pythonブロックのコロンは技術的に必要ですか?
これは実際には、Pythonの初心者がもっと理解したいという理論上の質問です。 Pythonのブロック初期ステートメントの後、コロンを忘れ続けます。それらは私が意味するものです: for <variable> in <sequence>: if <blah blah>: 私の考えでは、忘れがちな理由の1つは、それらが事実上の暗黙的であるということです。コロンであるかどうかにかかわらず、ステートメントはその行で終わります。 私の質問-私はPythonの構文がどのように機能するかを学ぶために尋ねます-コロンが本当に不要かどうかです?コロンが不要になるようにPython構文を変更しましたが、何かが壊れるでしょうか?それはいくつかのステートメントを曖昧にするか不可能にするでしょうか?
19 python  syntax  theory 

6
より良い構文で、Cにトランスパイルする言語はありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 CoffeeScriptは、Rubyに触発された、きれいな構文でJavaScriptに変換する言語です。Cにトランスパイルして、パフォーマンスを犠牲にすることなく、より読みやすいコードを可能にする同様の言語はありますか?そのようなものが存在しない場合、それを作成しない正当な理由はありますか?
19 c  syntax  compiler 

1
ドル記号ブルース:JavascriptとPHP
私はすべてが安全で美しいC ++とJavaのプログラミングで育ちました。コンパイラは、私が迷ったかどうかをチェックしてくれました。もちろん、誰もが大学で少しPerlをしましたが、私は吸い込みませんでした。最近の子供たちは、バックエンドのPHPとフロントのJavascriptがすべてです。ヒップになろうとするとき、私は同じことをします(Web開発の場合)。私が遭遇し続ける問題は、誤ってJavascriptの通常の変数の前にドル記号($)を追加することです。もちろん、jQueryオブジェクトによく使用される正当な構文なので、誰も何も言いません。 このドル記号の混乱をキャッチするためのデバッグツールや開発のトリックはありますか?あなたはしばしば同じ間違いを犯しますか?また、感情的にどのように対処しますか?Chrome開発ツールでは、これがJavascriptエラーであるとは限りません。私はPhpStormとEmacsを開発に使用していますが、それらは私の愚かさをキャッチしません。 この質問がばかげていると思うなら、あなたは正しいと思う。しかし、私たちは、変数の前にドル記号がある世界に住んでいます。そのような世界では、ばかげたことは何もありません。

9
ほとんどのプログラミング言語がブロックコメントをネストしないのはなぜですか?
私が知っている限り、いくつかはそうですが、人気のあるものはどれもありません。コメントをネストすることについて何か悪いことはありますか? 私が取り組んでいる(小さな)言語でブロックコメントをネストする予定ですが、これが悪い考えかどうかを知りたいです。

2
Javascript Ternary Operator vs. ||
以前にいくつかのnode.jsコードを見ていたのですが、それを書いた人が次の構文を好んでいるように思えたのです。 var fn = function (param) { var paramWithDefault = null == param ? 'Default Value' : param; } 私がより簡潔であると考えるものについて: var fn = function (param) { var paramWithDefault = param || 'Default Value'; } 2番目の形式が実際に社会的に受け入れられるJavaScriptシンタックスであるかどうか疑問に思っていましたが、この目的のために三項演算子よりも何度もそれを見てきました。 最初の例では、彼は二重の等号(三重の等号ではない)を使用していることに注意してください。ただし、JavaScriptで==がかなり悪い演算子であると多くの場所で読んでいます(JSLintは、IIRCに非常に反対です)。

5
配列、ポインター、および関数のC構文がこのように設計されたのはなぜですか?
次のような多くの質問を見た(そして尋ねた!)後 int (*f)(int (*a)[5])C ではどういう意味ですか? そして、人々がC構文を理解するのを助けるためのプログラムを作ったとさえ見て、私は不思議に思わずにはいられません: Cの構文がこのように設計されたのはなぜですか? たとえば、ポインターを設計している場合、「ポインターの10要素配列へのポインター」を次のように変換します。 int*[10]* p; そしてありません int* (*p)[10]; ほとんどの人が同意するだろうと私は思うが、それほど簡単ではない。 だから、なぜ、直感的でない構文ですか?構文が解決する特定の問題(おそらく曖昧さ?)がありますか?
16 c  syntax 

7
Cの任意のブロックの慣用的な使用とは何ですか?
ブロックは、実行されるステートメントのリストです。ブロックがCで現れる場所の例は、whileステートメントの後とifステートメントです while( boolean expression) statement OR block if (boolean expression) statement OR block Cでは、ブロックをブロック内にネストすることもできます。これを使用して変数名を再利用できます。「x」が本当に好きだとします int x = 0; while (x < 10) { { int x = 5; printf("%d",x) } x = x+1; } 5を10回印刷します。変数名の数を少なく保つことが望ましい状況を見ることができたと思います。おそらくマクロ展開で。ただし、この機能が必要な理由はわかりません。誰でも私がこの機能の使用法を理解するのを手伝ってくれますか?
15 c  syntax 

12
自分で構文エラーを修正しようとするコンパイラはありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 しばらく前に、コンテキストを分析して意図を推測することで構文エラーを修正しようとするコンパイラーがあったことを聞きました。 そのようなコンパイラは本当に存在しますか?明らかに実用的な価値はほとんどありませんが、遊んだり、学んだりすることは非常に興味深いでしょう。
15 syntax  compiler 

6
ワンライナー対読みやすさ:コードの削減を停止するタイミング [閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 環境 私は最近、より良いフォーマットのコードの作成に興味を持ちました。そして、「コードを実行するための独自の「最良の」方法はもちろんないため、「良い慣行と見なすのに十分な人々によって承認されたルールに従う」という意味です。 最近はほとんどRubyでコードを書いているので、リンター(Rubocop)を使ってコードの「品質」に関する情報を提供し始めました(この「品質」はコミュニティ主導のプロジェクトruby-style-guideで定義されています)。 場合によってはコードの効率がコードの記述方法によって実際に影響を受ける場合でも、コードの効率についてではなく、「フォーマットの品質」のように「品質」を使用することに注意してください。 とにかく、すべてのことをして、私はいくつかのことを実現しました(または、少なくとも覚えていました)。 一部の言語(特にPython、Rubyなど)では、優れたコードのワンライナーを作成できます。 コードのガイドラインに従うことで、コードを大幅に短くすることができますが、それでも非常に明確です。 ただし、これらのガイドラインに厳密に従うと、コードがわかりにくく/読みやすくなります。 コードはいくつかのガイドラインをほぼ完全に尊重し、それでも品質が低い場合があります コードの読みやすさはほとんど主観的です(「私が明らかにすることは、仲間の開発者にとって完全に不明瞭かもしれない」) これらは単なる観察であり、もちろん絶対的なルールではありません。また、コードの読みやすさと以下のガイドラインはこの時点では無関係に見えるかもしれませんが、ここでのガイドラインはコードの1つのチャンクを書き換える方法の数を絞り込む方法です。 次に、いくつかの例を挙げて、すべてをより明確にします。 例 単純なユースケースを見てみましょうUser。「」モデルを持つアプリケーションがあります。ユーザーはオプションでありfirstnameかつsurname必須とemailアドレスを。 私は、メソッド「書きたいnameその後、名前を返します」(firstname + surname少なくとも、彼の場合は、ユーザーのを)firstnameまたはsurname、本、またはそのemail代替値としていない場合。 また、このメソッドでuse_emailパラメーターとして" "(ブール値)を使用して、フォールバック値としてユーザーの電子メールを使用できるようにします。このuse_emailパラメーターは(渡されない場合)デフォルトで" "になりますtrue。 それをRubyで記述する最も簡単な方法は次のとおりです。 def name(use_email = true) # If firstname and surname are both blank (empty string or undefined) # and we can use the email... if (firstname.blank? && …


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.