繁体   English   中英

在Ruby中,减量(-=)函数在0处停止

Having a decrement (-=) function stop at 0 in Ruby

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有以下代码行,当他们将股票出售给其他人时,它们非常简单地减少股东的股票数量(数据库中的整数)。 效果很好,符合预期。

@selling_shareholder.update_attribute(:number_of_stocks, @selling_shareholder.number_of_stocks -= @transaction.number_of_stocks)

很简单,我想做的就是当number_of_stocks达到0时停止递减函数,即不可能有负数。

我想我可以用一个简单的unless @selling_shareholder.number_of_stocks > 0在该行的末尾,但我不知道这是否会真正不使用循环工作?

1 个回复

我建议在您的模型中创建一个名为#decrement_stock来处理该逻辑。 您可以设置所有应有的行为,例如引发异常。 该方法遵循“ 告诉不问 ”的原则。 它也是执行单个任务的简单工作单元,因此可以轻松使用自己喜欢的单元测试框架进行测试。

正如工程师的建议一样,如果您希望控制器处理错误,则只需在模型上添加验证也是一个很好的解决方案。

1 在MySQL中递减到0

大家好,我有一个MySQL查询,可减少每次单击按钮的库存, 询问 问题是我希望它停止在0而不是变成负数吗?有没有办法做到这一点? ...

4 如何在 setState 中停止递减到减号

counter 是一个组件,我在其中放置了一个递减按钮我希望如果该值为零,它将停止变为负值我已经设置了this.setState({counters : counters === 0 ? counters : 0 })但是它没有工作它的给出错误 这是我的代码 这是结果 ...

2020-08-26 15:31:09 2 88   reactjs
5 递减函数,递减表中的所有行

我正在使用laravel v3.2.12-4,我对减量功能有疑问。 该方法不会只更新一行,而是会影响列中的所有行。 我使用的是Eloquent,并且我有一个many_to_many关系。 包含减量方法的代码是: 在模型类指标中,我使用以下函数建立了关系: 在模型类Tag ...

6 ReactJS 中的递增/递减函数

我创建了一个递增/递减函数,但我有疑问。 我可以在包含递增计数的同一按钮中单击递减计数吗? 如何创建该功能? 代码: ...

7 Haskell减量功能

我正在尝试学习Haskell,这是我在函数式编程中的第一个方法。 我在创建一个将数字作为输入并递归打印该数字直到0的函数时遇到了麻烦。 我希望能够执行printDescending 20并将其输出printDescending 20 。但是我遇到了以下错误: 我认为这可能是我的 ...

8 连续减小功能值

嘿,实际上我制作了一个html页面,当我在第一部分中单击时,该页面上有两个部分,而当我在第二部分中单击时,第二部分中的数字增加了。 我为此使用了Angular JS。 现在,我在每一页的底部做了一个按钮。 我想当我单击该按钮时该数字应减少,但是当我单击该按钮时它使用的功能仅减少一次。 如 ...

9 Ruby中有红宝石的子句中的函数返回错误

下午好! 我有一个功能,其中她用系统的银行的.txt进行银行对帐,在其中她显示值与系统中启动的值完全相等的启动号,问题是有1个借方在.txt中对应于具有相同客户端ID的系统中的几次启动,在.txt中我没有客户端ID,但是启动的值的总和正好与借方相对应,有什么方法可以做这个查询? ...我试图在变量 ...

10 我如何使减量值停止为零

我是xamarin android的初学者,我尝试在xamarin android中开发一个简单的应用,该应用仅将递减值设置为零...但是当我尝试将递减值继续为负值时,我无法使其停止在零值 如何使减量值停止为零? } 当我运行应用程序时,值是5 4 3 2 1 0 -1 -2 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM