问题标签 [simplification]

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 投票
2 回答
147 浏览

c++ - 模板简化

在我的一个项目中,我有以下类模板层次结构:

哪里FruitType可以是任何东西。假设它是applebanana之一orange。所以基本上,afilter可以有自己的 filter类型。

无法控制filter代码:它必须保持原样

用户代码通常如下所示:

显然,这有点冗长。我想知道是否有可能获得更具可读性的东西。就像是:

哪里complex_filter<apple, banana, orange>::type会解决filter<apple, filter<banana, filter<orange> > >

我试着complex_filter做一个struct有内部的模板,typedef但到目前为止还没有成功。模板参数的数量应该是可变的(例如,从 1 到 5)。

你有没有需要类似的东西?我怎么能那样做?

(不幸的是,我不能使用 C++0x,但如果有更好的解决方案,请随时发布它,因为它总是很高兴知道)

谢谢你。

0 投票
6 回答
2014 浏览

c++ - 寻找可以简化的过于复杂的布尔表达式的工具?

是否有任何 C++ 代码解析器可以寻找可以使用布尔代数简化的布尔表达式?

我知道编译器已经这样做了,但是如果有一个工具可以提供这样的东西,这样人们就可以真正提高代码的可读性了。

0 投票
1 回答
1659 浏览

ruby - 使用 ActiveRecord 的作用域指令返回单个结果

我有以下类在我的单元测试中运行良好,但我觉得它可能更简单。

我尝试将 附加.firstlambda子句中,但这会导致错误。

我如何告诉scope我只想要第一个结果,从而current_license完全消除该方法?

0 投票
1 回答
1226 浏览

matrix - Maxima:简化矩阵分量

在 Maxima 中,如何简化作为矩阵组成部分的方程?我有一个相当大的矩阵,想简化它的组成部分(例如分解和抵消)。

谢谢。

0 投票
1 回答
212 浏览

boolean-logic - 使用一些已知术语组合的布尔简化

我正在使用Quine-McCluskey进行布尔简化,效果很好。

但是,我现在需要使用一些已知的术语组合进行简化。

例如,我想简化:

如果我知道:

那么这简化为:

或者,如果我知道:

然后它简化为

有没有一种算法可以在给定已知术语列表的情况下简化布尔表达式?

0 投票
1 回答
539 浏览

.net - 简单代数简化的算法/操作方法

可能重复:
在 C# 中自动计算字符串数学表达式

有人可以向我指出一些资源,这些资源详细描述了如何简化简单的代数方程,例如“5x+(2x*6x)+2”,这应该导致“12x^2+5x+2”我需要处理的运算符是“ +","-","*","/","^" 和括号。到目前为止,我已经为数字项实现了一个解析器和求值器,它从 in-fix 转换为 post-fix 然后进行评估。

如果有人能给我一个关于如何实现这一目标的基本说明,我将不胜感激。

0 投票
3 回答
10757 浏览

algorithm - Visvalingam-Whyatt 折线简化算法说明

我正在尝试实现折线简化算法。原始文章可以在这里找到:http: //archive.is/Tzq2。它在概念上似乎很简单,但我不理解提供的示例算法(我认为它措辞不佳)伪代码,并希望有人能提供一些见解。从文章中,我了解到基本思想是

  1. 计算每个点的有效面积(由一条线上三个连续点之间的三角形组成)并删除面积为0的
  2. 从最小的区域开始,将该点的区域与阈值进行比较,如果该区域低于该阈值,则将其从折线中删除。
  3. 移动到两个相邻的点并在它们发生变化时重新计算它们的面积
  4. 回到 2,直到阈值以下的所有点区域都被移除

算法如下(从文章中逐字复制):

  • 计算每个点的有效面积 删除所有面积为零的点,并将它们存储在具有该面积的单独列表中
  • 重复
    • 找到有效面积最小的点并将其称为当前点。如果其计算的面积小于最后一个要消除的点的面积,则改用后者的面积。(这样可以确保在不消除先前消除的点的情况下无法消除当前点。)
    • 从原始列表中删除当前点并将其与相关区域一起添加到新列表中,以便可以在运行时过滤该行。
    • 重新计算两个相邻点的有效面积(见图 1b)。
  • 直到
    • 原线只包含2个点,即起点和终点。

我对“重复”下第一步中的“if”子句感到困惑……有人能澄清一下吗?

0 投票
2 回答
199 浏览

javascript - 具有类似功能时简化 Javascript

我终于在这里拼凑了一些适用于我的问题的代码。但是,它看起来很长,因为我已经为刷新具有特定哈希的页面以及通过单击选项卡访问同一页面时创建了单独的函数。

可以简化吗?我已经尝试过,但到目前为止,在我的尝试中,代码只是中断了。

0 投票
1 回答
61 浏览

python - 元素在容器中或容器内的容器中。(Python)

有没有更好的编码方法?

如果 e 在 self.segments 中或如果 e 在 self.segments 中的任何段中,此函数应返回 true。

我仍在尝试学习如何使用 [a for a in b if c] 符号,我希望 StackOverflow 的某个人可以帮助我简化该代码段。

0 投票
3 回答
630 浏览

sql - SQL查询简化

我对 SQL 很陌生,所以我的问题很简单,但我想理清一点。我对这个查询不能简化为这样的事情是对的吗?

如果不能,我们运行两个相同的子查询是不是一件坏事?