سؤال

هل من الممكن الحصول على Visual Studio للقيام بتقييم / تخفيض التعبير الرياضي؟

على سبيل المثال إذا قمت بكتابة "-0.005 + -0.345" كيف يمكنني الحصول على Visual Studio لتقليل ذلك (أي استبداله بالحد)؟ هل يجب علي كتابة ماكرو؟ إذا كان الأمر كذلك، هل هناك أي وحدات ماكرو موجودة مسبقا للقيام بهذا النوع من تخفيض التعبير؟

فقط أن تكون واضحا، أريد أن أكون قادرا على تسليط الضوء على تعبير وحل محلها بالنتيجة المخفضة. يشير الكثيرون إلى النافذة الفورية ولكني فشلت في معرفة كيف سيكفي ذلك؟

تعديل يجب أن أشير إلى أن هذا أثناء التحرير لا يعمل أو تصحيح الأخطاء. النافذة المباشرة ليست ذات فائدة دون أي فائدة. أنا أيضا اعتبر هذا سؤال محايد اللغة. بالتأكيد أود أن أكون مهتما بمشاهدة وحدات ماكرو بديلة إلى تلك التي قمت بنشرها.

تعديل الذهاب مرة واحدة ... الذهاب مرتين ... (أي أي اقتراحات أخرى قبل أن أفكر في قبول إجابتي الخاصة؟)

هل كانت مفيدة؟

المحلول

شكرا لك على الإجابات أعلاه.

ربما هناك طرق أفضل، ولكن إليك ماكرو سريع وقذرة يفعل ما أحتاج إليه.

يجب إضافة مراجع إلى System.Data و System.xml Namesp مساحات الأسماء.

قم بتمييز التعبير الذي تريد تقييمه وتشغيل الماكرو (يستخدم العمود المحسوب في DataTable لتقييم التعبير.) سيحل محل التعبير بالنتيجة المخفضة.

تعديل - رمز محدث أدناه. عملت بشكل جيد للغاية لتقليل عدد كبير من التعبيرات. كما أشار من قبل الآخرين، هناك نافذة فورية ولكن هذا لن يعمل من أجل تحرير الأغراض. هذا الماكرو هو حل مستقل للغة للتعبيرات الأساسية "()، +، -، *، /".


Sub Eval()
  Dim ts As EnvDTE.TextSelection = DTE.ActiveDocument.Selection
  Using dt As New DataTable()
    dt.Columns.Add("Expression", GetType(Double), ts.Text)
    dt.Rows.Add(dt.NewRow)
    ts.Text = CDbl(dt.Rows(0).Item("Expression"))
  End Using
End Sub

نصائح أخرى

لن يقوم Visual Studio افتراضيا بإجراء تقييم / تخفيض تعبير رياضي. لست متأكدا مما إذا كان بإمكانك الحصول على دعم لذلك عبر العناصر مثل إعادة التجسيد، ولكن إذا كان متاحا، فستكون في وظيفة إضافية.

أيضا، سيكون من المفيد معرفة اللغة التي تعمل بها؟

قد تكون بعض اللغات مفيدة في هذا المجال. F # على سبيل المثال يجعل من السهل تقييم التعبيرات في IDE عبر النافذة التفاعلية وسيعرض النتيجة. يمكن بسهولة إضافة هذا إلى التعليمات البرمجية الخاصة بك ولكن لا يبدو أنه بالضبط ما تبحث عنه.

إليك إجابة: نعم، من الممكن استخدام الخطوات التالية. (أثناء أداء ما تسأله تقنيا، لست متأكدا من أنه سيكون مفيدا للغاية. :-)

  1. قم بتعيين نقطة توقف في البرنامج الخاص بك من المحتمل أن يتم ضربه عند تصحيح البرنامج.
  2. ثم، قم بتشغيل البرنامج الخاص بك بموجب مصحح الأخطاء Visual Studio.
  3. عندما تضغط نقطة توقف، افتح نافذة الساعة.
  4. في نافذة الساعة، أضف ساعة جديدة بالنقر فوق عمود الاسم.
  5. أدخل تعبيرك '-0.005 + -0.345' (بدون علامات اقتباس) ثم اضغط على [ENTER]. ... يجب أن ترى عمود القيمة يتم ملؤها مع -0.35.

بالطبع، هذا ليس في سياق نافذة المحرر ... والتي يفترض، حيث تريد تنفيذ التخفيض. مرة أخرى، ليست مفيدة جدا، أتصور. الوظيفة الإضافية هي الطريقة المحتملة للقيام بذلك في نافذة المحرر.

هل يمكن أن تذهب فقط إلى النافذة الفورية ونوعها "؟u003CyourExpression> "

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top