問題タブ [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.
python-2.7 - 定数折りたたみ最適化なしで Python ソースをコンパイルする
次のようなpythonスニペットがあります
これを AST にコンパイルすると、次のようになります。
生成された AST6 * 8
は48 に最適化されていないことに注意してください。
ただし、この生成された AST をコンパイルして逆アセンブルすると、6 * 8
に置き換えられ48
ます。
私の質問
一定の折り畳みの最適化なしでコードをバイトコードにコンパイルする方法は? 難読化ツールを開発するには、これを行う必要があります。
c++ - 列挙値に依存する関数呼び出し
私のアプリケーションの簡単なセットアップは次のとおりです。
私がやりたいことは、状態メンバーの現在の値に依存するステップ関数を呼び出すことです。step() 呼び出しでは、状態は問題である定数式ではありません。大きな醜いスイッチなしで、この列挙型に依存する関数呼び出しを書く方法はありますか?
(これは、1 つの機能と 2 つの状態のみの単純化された例です)。
c# - x => x.property で ContstantExpression の名前と値を取得する方法
C# で式のName
andを取得する簡単な方法を作成しています。Value
しかし、私は理解できないケースを見つけました。以下のコードを参照してください。
.GetValue()
メソッドは私の拡張メソッドです。
基本的に、この式ツリーは、LambdaExpression
、2 つMemberExpression
の 、および のConstantExpression
順で構成されます。
の名前を取得しようとするとtuple.Item2
、memberExpression.Member.Name
最後のMemberExpression
. これにより、「Item2」ではなく「タプル」が得られます。代わりに「Item2」を取得するにはどうすればよいですか?
また、式の値を取得しようとすると、代わりにタプル全体が取得されますItem2
。次のメソッドを使用して値を取得しています。
もう一度MemberExpression
が最後MemberExpression
です。ここで何が間違っていますか? 私が見逃している正確なケースは何ですか?
前もって感謝します