0

也许有人对以下概念性问题有答案

我正在编写一个(相对简单的)应用程序,它从表中获取记录(每行是记录,列是字段),处理记录,然后将新记录写入新表。

问题在于规范(即输出记录的外观和计算方式)将一直在变化,并且用户没有太多的编程经验。

我想让应用程序在 UI 中可配置,即我想让用户指定表达式,如

x * y - 3

或者

z.Substring (2)

UI 中的某处(类似于 Excel,您可以在其中为单元格提供公式)。

问题:指定简单的数学、布尔和字符串表达式的最佳语言是什么?

我考虑了以下几点:

  • 允许用户输入 PowerShell 代码
  • 允许用户输入 C# 代码
  • 自己写一个解析器

但在我看来,这一切都极其复杂。你有更好的主意吗?

4

3 回答 3

1

You can use Irony to create you own expression evaluator with necessary functions. There are already simple expression and Python evaluators in samples there.

于 2012-05-27T12:01:32.020 回答
1

Javascript 是一种非常简单易用的语言。我建议给用户一个源列列表,并允许他们在 javascript 中指定一个转换函数,然后您可以在运行时通过诸如侏罗纪之类的库对其进行评估。

于 2012-05-27T12:05:42.133 回答
1

这是DLR的工作!它是为动态语言设计的。您可以选择任何已经实现的语言。我只是选择Iron python并让用户输入表达式作为 python 语句。它绝对是一个梦想!

查看这个关于如何在 ac# 程序中托管 irson python 引擎的超简单示例

http://secretgeek.net/host_ironpython.asp

于 2012-05-27T11:12:04.400 回答