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

構文は、実際の言語要素とシンボル自体を指します。質問が構文的に単独でほぼ完全に関連している場合、質問は構文としてタグ付けする必要があります。このタグは、特定の言語タグとともに使用する必要があります


8
中括弧と括弧の間のScalaの正式な違いは何ですか?それらはいつ使用されるべきですか?
括弧()と中括弧で関数に引数を渡すことの形式的な違いは何{}ですか? 『Scalaでのプログラミング』の本から得た感想は、Scalaはかなり柔軟であり、私が一番好きなものを使用する必要があるということですが、コンパイルできるケースとできないケースがあります。 たとえば(単なる例としての意味です。この特定の例だけではなく、一般的なケースについて説明する応答があれば幸いです)。 val tupleList = List[(String, String)]() val filtered = tupleList.takeWhile( case (s1, s2) => s1 == s2 ) =>エラー:単純な式の不正な開始 val filtered = tupleList.takeWhile{ case (s1, s2) => s1 == s2 } =>結構です。



3
各 'when'ブロックに複数の値を持つCaseステートメント
私が探しているものを説明できる最善の方法は、これまでに試した失敗したコードを示すことです。 case car when ['honda', 'acura'].include?(car) # code when 'toyota' || 'lexus' # code end when考えられる約50の異なるの値によって引き起こされる4つか5つの異なる状況がありますcar。caseブロックでこれを行う方法はありますか、または大規模なifブロックを試す必要がありますか?

8
Haskell / GHCの `forall`キーワードは何をしますか?
次のように、forallいわゆる「既存のタイプ」でキーワードがどのように使用されるかを理解し始めています。 data ShowBox = forall s. Show s => SB s これは、forall使用方法のサブセットにすぎませんが、次のようなもので使用することに心を奪うことはできません。 runST :: forall a. (forall s. ST s a) -> a または、これらが異なる理由を説明します。 foo :: (forall a. a -> a) -> (Char, Bool) bar :: forall a. ((a -> a) -> (Char, Bool)) または全部RankNTypes... 私は、学術的な環境では普通の種類の言語よりも、明確で専門用語のない英語を好む傾向があります。私がこれについて読んでみようとするほとんどの説明(検索エンジンで見つけることができるもの)には、次の問題があります。 彼らは不完全です。彼らは、私は、コードを読むまで、私は幸せな気分になります(「実存的なタイプ」のように)このキーワードの使用の一部を説明することは完全に異なる方法での使用にそれを(のようなrunST、fooおよびbar上記)。 それらは、離散数学、カテゴリー理論、または抽象代数の今週で人気のある分岐の最新のものを読んだという仮定が密集しています。(「実装の詳細については、何でも紙に相談してください」という言葉を二度と読んだことがなければ、早すぎるでしょう。) 彼らは頻繁に単純な概念でさえも曲がりくねって壊れた文法と意味論に変える方法で書かれています。 そう... …
312 haskell  syntax  types  ghc  forall 

7
Scalaでの暗黙の理解
私はScalaのプレイフレームワークチュートリアルを進めていて、このコードスニペットに出くわしました。 def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => { Task.create(label) Redirect(routes.Application.tasks()) } ) } だから私は調査することに決め、この投稿に出くわしました。 まだわかりません。 これの違いは何ですか: implicit def double2Int(d : Double) : Int = d.toInt そして def double2IntNonImplicit(d : Double) : Int = d.toInt 明白な事実以外は、メソッド名が異なります。 いつ使用する必要がありますimplicitか?その理由は?

8
Javaジェネリックス-「Tを拡張する」が許可されているが、「Tを実装する」ことができないのはなぜですか?
型パラメーターの境界を定義するために常に " extends"ではなく" " を使用するJavaには特別な理由があるimplementsのでしょうか。 例: public interface C {} public class A<B implements C>{} 禁止されていますが public class A<B extends C>{} 正しい。その理由は何ですか?

27
属性のようなdictキーにアクセスしますか?
のobj.foo代わりにdictキーにアクセスする方が便利だと思うobj['foo']ので、次のスニペットを書きました。 class AttributeDict(dict): def __getattr__(self, attr): return self[attr] def __setattr__(self, attr, value): self[attr] = value ただし、Pythonがそのままではこの機能を提供しない理由がいくつかあるに違いないと私は思います。この方法でdictキーにアクセスする際の注意点と落とし穴は何でしょうか?


24
ドット「。」の使い方 辞書のメンバーにアクセスするには?
ドット「。」を介してPython辞書のメンバーにアクセスできるようにするにはどうすればよいですか? たとえば、書く代わりに mydict['val']たいと思いますmydict.val。 また、この方法でネストされた辞書にアクセスしたいと思います。例えば mydict.mydict2.val 参照するだろう mydict = { 'mydict2': { 'val': ... } }

7
ブロック宣言構文リスト
Objective Cのブロック構文(そして確かにCだと思います)は、よく知られていないことで有名です。ブロックを引数として渡すことは、ブロックをivarとして宣言typedefすることとは異なります。これは、ingブロックとは異なります。 クイックリファレンスとして手元に置いておくことができるブロック宣言構文の包括的なリストはありますか?

13
変数を名前として使用して、JavaScriptオブジェクトにプロパティを追加しますか?
jQueryを使用してDOMから項目を引き出しておりid、DOM要素のを使用してオブジェクトにプロパティを設定したいと考えています。 例 const obj = {} jQuery(itemsFromDom).each(function() { const element = jQuery(this) const name = element.attr('id') const value = element.attr('value') // Here is the problem obj.name = value }) 「myId」のitemsFromDom要素が含まれている場合id、「myId」objという名前のプロパティが必要です。上記は私に与えますname。 JavaScriptを使用して変数を使用してオブジェクトのプロパティに名前を付けるにはどうすればよいですか?


1
「int main(){(([](){})());}」は有効なC ++ですか?
最近、次の難解なコードに出くわしました。 int main(){(([](){})());} 次のように再フォーマットして、読みやすくします。 int main(){ (([](){})()); // Um... what?!?! } しかし、私(([](){})())は有効なコードがどうあるかについて頭をつかむことができません。 関数ポインタ構文のようには見えません。 オペレーターのオーバーロードのトリックにはなりません。コードはそのままコンパイルされます。 グーグルは、この全記号検索ではあまり役に立たなかった。ただし、Visual Studio 2010でコンパイルされ、何も出力されません。エラーも警告もありませんでした。したがって、有効なコードのように見えます。 私は、JavaScriptとC関数ポインター以外ではとても奇妙な有効なコードを見たことがありません。 これが有効なC ++であると誰かが説明できますか?
271 c++  c++11  lambda  syntax 

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