标签: simplify

如何简化此数据库更新查询(php)

我该如何简化此更新说明?每当客户购买商品时,它将使用1更新销售.

$this->db->query('SELECT amount FROM shop_items WHERE itemid='.$itemid.'');   
$new_amount = $item->amount+1;
    if(!$this->db->query('UPDATE shop_items SET amount='.$new_amount.' WHERE itemid='.$itemid.'')):
    return false;
    endif;
Run Code Online (Sandbox Code Playgroud)

我不能让它更简单,所以有更少的线,例如:

if(!$this->db->query('UPDATE shop_items SET amount=_current_value_+1 WHERE itemid='.$itemid.'')):
return false;
endif;
Run Code Online (Sandbox Code Playgroud)

这可能吗?如果不是,谢谢

php simplify

3
推荐指数
1
解决办法
431
查看次数

简化Mathematica中的系列

我在mathematica中有一些简化某些功能的问题.在我编写的程序中,我有一些用Sum函数计算的函数,许多术语最终都乘以零.我想要打印但简化的功能.我尝试使用FullSimplify,但它需要永远运行.然后我尝试使用Simplify,但它不起作用.这是我得到的一个函数的例子,

2. Sqrt[-(-1+x) x]+
0. Sin[2 ArcCos[-1+2 x]]+
0. Sin[3 ArcCos[-1+2 x]]+
0. Sin[4 ArcCos[-1+2 x]]+
0. Sin[5 ArcCos[-1+2 x]]+
0. Sin[6 ArcCos[-1+2 x]]+
0. Sin[7 ArcCos[-1+2 x]]+
0. Sin[8 ArcCos[-1+2 x]]+
0. Sin[9 ArcCos[-1+2 x]]+
0. Sin[10 ArcCos[-1+2 x]]+
0. Sin[11 ArcCos[-1+2 x]]+
0. Sin[12 ArcCos[-1+2 x]]+
0. Sin[13 ArcCos[-1+2 x]]+
0. Sin[14 ArcCos[-1+2 x]]+
0. Sin[15 ArcCos[-1+2 x]]+
0. Sin[16 ArcCos[-1+2 x]]+
0. Sin[17 ArcCos[-1+2 x]]+
0. Sin[18 ArcCos[-1+2 x]]+
0. Sin[19 ArcCos[-1+2 x]]+
0. Sin[20 ArcCos[-1+2 x]]+ …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica sum simplify

3
推荐指数
2
解决办法
1039
查看次数

简化嵌套的Maybe模式匹配

我的代码中有以下构造:

f :: Maybe A -> X
f a = case a of
  Nothing -> x
  (Just b) -> case b of
    Nothing -> y
    (Just c) -> case c of
      Nothing -> z
      (Just d) -> d
Run Code Online (Sandbox Code Playgroud)

我没有看到一种明显的方法来简化这个而不是使用嵌套maybe函数,这不会使整个事情看起来更好.是否有任何聪明 - 但仍然可以理解 - 的技巧有助于使这个结构更"优雅"?

haskell nested pattern-matching simplify maybe

3
推荐指数
3
解决办法
2097
查看次数

简化Ruby方法:关闭不必要的变量

当我在Ruby中编写方法时,我常常想"我敢打赌这可以做得更简单".这是一个示例方法.它会添加从1开始的所有数字,直到数字为止n.有没有办法放弃变量solution

def sum n
    solution = 0
    for i in 1..n do
        solution += i
    end
    solution
end
Run Code Online (Sandbox Code Playgroud)

ruby variables methods dry simplify

3
推荐指数
1
解决办法
112
查看次数

使用变量简化SQL查询

我想简化我的T-SQL查询.它是这样的:

SELECT

    t.a AS [Column A], 
    t.b AS [Column B],
    t.c AS [Column C],
    (t.a - t.b - t.c) AS [Column D],
    CASE
      WHEN (t.a - t.b - t.c) = 0 THEN 'Equals'
      WHEN (t.a - t.b - t.c) > 0 THEN 'Greater'
      WHEN (t.a - t.b - t.c) < 0 THEN 'Less'
    END AS [Status]          

FROM
    Table1 AS t;
Run Code Online (Sandbox Code Playgroud)

放入(t.a - t.b - t.c)变量会很好,所以我可以在它出现的所有地方重复使用它,因为表达式可能会随着时间的推移而改变.如果不显着改变现有查询,我无法弄清楚如何做到这一点.

sql sql-server variables simplify

3
推荐指数
1
解决办法
121
查看次数

为什么在Julia-Lang中进行更多的运算时,简化的数学方程式的运行(略)慢于其等价方程式?

在C ++课程中,我学会了一些技巧,例如避免重复计算,使用更多的加法而不是更多的乘法,避免幂等以提高性能。但是,当我尝试使用Julia-Lang优化代码时,我对相反的结果感到惊讶。

例如,以下是一些未进行数学优化的方程式(所有代码都是用Julia 1.1编写的,不是JuliaPro编写的):

function OriginalFunction( a,b,c,d,E )
    # Oprations' count:
    # sqrt: 4
    # ^: 14
    # * : 14
    # / : 10
    # +: 20
    # -: 6
    # = : 0+4
    x1 = (1/(1+c^2))*(-c*d+a+c*b-sqrt(E))
    y1 = d-(c^2*d)/(1+c^2)+(c*a)/(1+c^2)+(c^2*b)/(1+c^2)-(c*sqrt(E))/(1+c^2)

    x2 = (1/(1+c^2))*(-c*d+a+c*b+sqrt(E))
    y2 = d-(c^2*d)/(1+c^2)+(c*a)/(1+c^2)+(c^2*b)/(1+c^2)+(c*sqrt(E))/(1+c^2)

    return [ [x1;y1] [x2;y2] ]
end
Run Code Online (Sandbox Code Playgroud)

我用一些技巧优化了它们,包括:

  1. (a*b + a*c) -> a*(b+c) 因为加法比乘法快。
  2. a^2 -> a*a 避免电源操作。
  3. 如果长时间操作至少使用了两次,请将其分配给变量以避免重复计算。例如:
x = a * (1+c^2); y = b * (1+c^2)
->
temp = 1+c^2
x …
Run Code Online (Sandbox Code Playgroud)

math performance-testing simplify julia

3
推荐指数
1
解决办法
63
查看次数

如何使这个复杂的if-else语句在Kotlin中可维护

我编写了一个函数,用于根据requestparams从数据库中获取信息。以下if-else语句是一个巨大的问题。如果我们继续添加更多过滤器,则需要继续为所有可能的路径添加语句。

    fun getMessages(name: String, pageable: Pageable, locale: String?, subject: String?,
                              recipient: String?): Page<MessageDTO>? {

        val messagePageable= if (!locale.isNullOrEmpty() && !subject.isNullOrEmpty() && !recipient.isNullOrEmpty()) {
            messageRepository.findAll(where(hasMessageName(name).and(hasLocale(locale!!)
            .and(hasSubject(subject!!).and(hasRecipient(recipient!!))))), pageable)
        } else if (!locale.isNullOrEmpty()) {
            messageRepository.findAll(where(hasMessageName(name).and(hasLocale(locale!!))), pageable)
        } else if (!subject.isNullOrEmpty()) {
            messageRepository.findAll(where(hasMessageName(name).and(hasSubject(subject!!))), pageable)
        } else {
            messageRepository.findAll(where(hasMessageName(name)), pageable)
        }
        return messagePageable.map { messageMapper.toMessageDTO(it) }.takeIf { it.content.isNotEmpty() }
}
Run Code Online (Sandbox Code Playgroud)

应该有一个更好的书面方式。我感谢您的帮助。

java if-statement simplify kotlin

3
推荐指数
1
解决办法
80
查看次数

简化FOR循环

我有一个基本上从双向量中读取值的函数,将它们附加到一个字符串(同时确保每个字符串之间的空间并设置它们的精度)并返回最终结果,减去最后的空格:

std::string MultiplePrintProperties::GetHpitchString()  
{    
    std::string str;  
    vector< double >::iterator it;    

    for ( it  = Vals.begin();    
          it != Vals.end();  
          it++ )  
    {
        ostringstream s;    

        // Set precision to 3 digits after the decimal point
        // and read into the string 
        boost::format fmt( "%.3f " ); 
        s << fmt % *( it );
        str.append( s.str() );      
    }

    // Remove last white space and return string   
    return str.substr( 0, str.length() - 1 ); 
}
Run Code Online (Sandbox Code Playgroud)

我想知道这段代码是否可以以任何方式简化.我最近一直在调查for_each和functor的使用,但是我们无法弄清楚这些技术如何改进这个特定的例子.

c++ functor simplify

2
推荐指数
1
解决办法
933
查看次数

Sympy:简化方块的平方根

Sympy似乎无法简化涉及变量的平方的平方根的表达式:

In [28]: a = x**2
In [29]: b = a**(1/2)
In [30]: b
Out[30]: 
    0.5
? 2?   
?x ?   
In [31]: b.simplify()
Out[31]: 
    0.5
? 2?   
?x ?   
Run Code Online (Sandbox Code Playgroud)

我不认为这与其他变体有关simplify,特别是我认为b.powsimp()应该有效.

In [32]: b.powsimp()
Out[32]: 
    0.5
? 2?   
?x ?   
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么这不起作用,或者我做错了什么?

python sympy simplify

2
推荐指数
1
解决办法
1940
查看次数

有没有办法简化这段 JavaScript 代码?

我知道这是一个广泛的问题,但我仍然是新手,不知道要搜索/询问什么。

我有一个 Jeopardy 游戏的 JavaScript 系列。我相信有更好的方法来做到这一点,因为有太多的重复。我正在考虑一些变量、数组和/或在调用函数时传递 ID 但不知道从哪里开始的事情。任何想法,将不胜感激。我不是要求任何人做这项工作,只是给我一些想法和例子来说明要往哪个方向发展。

var score = 0;


//Disable the question button
function disableButton(btnID){
        document.getElementById(btnID.id).disabled = true;
    }

//Show current score
function endQuestion(){
  alert ("Your total score is now " +score);
}

//Toggle Images On
function showImgBtn1(){
  document.getElementById('btn1pic').style.visibility = 'visible';
  setTimeout(askQuestion1,3000);
}
function showImgBtn2(){
  document.getElementById('btn2pic').style.visibility = 'visible';
  setTimeout(askQuestion2,3000);
}
//This keeps going for every question--repeated 9 to 20 times


//Questions
function askQuestion1()
{
  var answer = prompt ("What body system contains the heart, blood, arteries, and …
Run Code Online (Sandbox Code Playgroud)

javascript arrays function simplify

2
推荐指数
1
解决办法
124
查看次数