問題タブ [constant-expression]

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 投票する
0 に答える
128 参照

python-2.7 - 定数折りたたみ最適化なしで Python ソースをコンパイルする

次のようなpythonスニペットがあります

これを AST にコンパイルすると、次のようになります。

生成された AST6 * 8は48 に最適化されていないことに注意してください。

ただし、この生成された AST をコンパイルして逆アセンブルすると、6 * 8に置き換えられ48ます。

私の質問

一定の折り畳みの最適化なしでコードをバイトコードにコンパイルする方法は? 難読化ツールを開発するには、これを行う必要があります。

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

c++ - 列挙値に依存する関数呼び出し

私のアプリケーションの簡単なセットアップは次のとおりです。

私がやりたいことは、状態メンバーの現在の値に依存するステップ関数を呼び出すことです。step() 呼び出しでは、状態は問題である定数式ではありません。大きな醜いスイッチなしで、この列挙型に依存する関数呼び出しを書く方法はありますか?

(これは、1 つの機能と 2 つの状態のみの単純化された例です)。

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

c# - x => x.property で ContstantExpression の名前と値を取得する方法

C# で式のNameandを取得する簡単な方法を作成しています。Valueしかし、私は理解できないケースを見つけました。以下のコードを参照してください。

.GetValue()メソッドは私の拡張メソッドです。

基本的に、この式ツリーは、LambdaExpression、2 つMemberExpressionの 、および のConstantExpression順で構成されます。

の名前を取得しようとするとtuple.Item2memberExpression.Member.Name最後のMemberExpression. これにより、「Item2」ではなく「タプル」が得られます。代わりに「Item2」を取得するにはどうすればよいですか?

また、式の値を取得しようとすると、代わりにタプル全体が取得されますItem2。次のメソッドを使用して値を取得しています。

もう一度MemberExpressionが最後MemberExpressionです。ここで何が間違っていますか? 私が見逃している正確なケースは何ですか?

前もって感謝します