問題タブ [syntactic-sugar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2238 参照

python - Pythonで辞書を照会するための省略形はありますか?

実行したいクエリのタイプを擬似コードで記述します。

明らかに、Python で次のように書くことができます。

しかし、私はそれを行うよりクリーンな方法があると思います。私はPythonに慣れていないので、まだ非常に命令的に近づいています。

編集:

SOに関する他のいくつかの質問を見て、私が思いついた解決策は次のとおりです。

おそらく、もっと良い方法があります。

0 投票する
10 に答える
13910 参照

c++ - C/C++ のシンタックス シュガー

Ruby を調べていると、「until」と「unless」というキーワードが非常に興味深いことがわかりました。そこで、同様のキーワードを C/C++ に追加するにはどうすればよいか考えました。これは私が思いついたものです:

これに関するいくつかの提案を探しています。誰かがより良い代替案を提案できますか?

これは、私が意図したことを説明するために書いたプログラムの例です。

C または C++ で使用できる同様のトリックの参考文献をいくつか教えていただければ幸いです。

0 投票する
1 に答える
416 参照

ruby - Active Recordスコープに引数を魔法のように供給する方法は?

これが可能かどうかはわかりませんが、解決策を思いつくかどうか見てみましょう。これは多かれ少なかれ可読性の観点からコードの品質に関するものであり、実際の問題ではありません。私はすでに解決策を持っているからです。私は友情モデルとユーザーモデルを持っています。友情モデルは、2 人のユーザー間の友情をモデル化するために使用されます。

引数を指定せずに、ユーザー モデルを介して、要求された、保留中または承認されたスコープを呼び出すことは何とか可能ですか?

0 投票する
4 に答える
19231 参照

java - java、別の名前でクラスをインポートする方法はありますか

別の名前でクラスをインポートする方法はありますか? たとえば、javax.C というクラスと java.C という別のクラスがある場合、javax.C を C1 という名前でインポートし、java.C を C2 という名前でインポートできます。

C# では次のようなことができます。

またはVB:

0 投票する
5 に答える
3495 参照

c# - foreachは純粋に「シンタックスシュガー」ですか?

コンパイラは、が配列で使用される場合、ループforeachをループのようなものにコンパイルします。また、コンパイラは、がまたはで使用される場合、ループをループのようなものにコンパイルします。それで、これは純粋に意味するのでしょうか?それともそれについて洗練されたものはありますか?forforeachforeachwhileforeachIEnumerableIEnumerable<T>foreachsyntactic sugar

CLRは知っていforeachますか?foreachMSILコードで特別に設計されたものはありますか?

0 投票する
6 に答える
5000 参照

c# - ExpandoObject でコレクション初期化構文を使用するにはどうすればよいですか?

必要なメソッドとメソッドを備えた新しいExpandoObject実装があることに気付きました。そのため、アイテムを辞書に追加するのと同じ方法で、コレクション初期化子構文を使用して expando オブジェクトにプロパティを追加できるはずです。IDictionary<string,object>IEnumerable<KeyValuePair<string, object>>Add(string, object)

しかし、それを行う方法はないようです。エラー:

「System.Dynamic.ExpandoObject」には「追加」の定義が含まれていません

インターフェイスが明示的に実装されているため、これは機能しないと思います。しかし、それを回避する方法はありますか?これはうまくいきます、

しかし、コレクション初期化子の構文ははるかにきれいです。

0 投票する
3 に答える
698 参照

c# - C#静的コンストラクターで括弧が必要なのはなぜですか?

検討:

なぜが()必要なのstatic Foo() {...}ですか?静的コンストラクターは常にパラメーターなしである必要があるのに、なぜわざわざするのでしょうか。パーサーのあいまいさを回避するために必要ですか、それとも通常のパラメーターなしのコンストラクターとの一貫性を維持するためだけですか?

それはイニシャライザーブロックに非常によく似ているので、私はしばしばそれらを誤って除外していることに気付き、それから数秒間何が悪いのかを考えなければなりません。同じように排除できればいいのにと思います。

0 投票する
2 に答える
315 参照

iterator - イテレータとしても機能するように lua オブジェクトを作成する賢い方法はありますか?

他の場所で定義した「オブジェクト」があるとしましょう。アイテムのセットを表しているかもしれませんが、単純なテーブルよりも複雑です。それが何であれ、それを反復することは論理的です。

そのため、iteratorメソッドが定義されています。だから私はこれを書くことができます:

私が疑問に思っているのは、私ができるメタメソッドのトリッキーがあるかどうかです。これにより、これを書くことができます:

それで、ありますか?

0 投票する
5 に答える
5411 参照

list - Scala: 代替リスト構文 (可能であれば角括弧を使用)

Scalaに代替の「リスト」構文はありますか? 「[」および「]」と呼ばれる 1 つの追加のクラス/タイプ/演算子* を定義することは可能ですか?

タイプを示すために「角括弧」が使用されることは知っていますが、リストを宣言するという繰り返しの作業には最適です。

';' また '?' 最後のリソースとしても良いでしょう。

ありがとう

obs .:多くの検索の後、私が見つけた唯一の代替手段は「cons」を使用することでした:

ただし、キーの入力はまったく減りません。

  • 私はまだScalaでそれらのことを学んでいます

編集: 明確にするために: 私の場合、パフォーマンスは優先事項ではありません。はい、シフトは歓迎されません。:P 舞台裏の動機: 私は Haskell スタイルが好きですが、Java で直接使用することはできません。

EDIT 2: 両方の Rex Kerr ソリューションに基づく最終的なソリューション

オブジェクト型の実装:

オブジェクトタイプを使用:

0 投票する
3 に答える
2381 参照

scala - 山かっこ (<>) を使用したメソッド

メソッド名に山かっこを使用することは可能ですか?たとえば:

実際の状況は明らかにこれよりも複雑です!! 便利なユーザー インターフェイスを提供しようとしています。