草庐IT

T_RETURN

全部标签

c++ - main() 中的 return 语句与 exit()

我应该在main()中使用exit()还是只使用return语句?我个人喜欢return语句,因为我觉得它就像阅读任何其他函数一样,并且当我阅读代码时流控制很流畅(在我看来)。即使我想重构main()函数,使用return似乎比exit()更好。exit()会做任何return不会做的特殊事情吗? 最佳答案 其实,有的区别,但很微妙。它对C++的影响更大,但差异很重要。当我在main()中调用return时,将为我的本地作用域对象调用析构函数。如果我调用exit(),将不会为我的本地范围对象调用任何析构函数!重新阅读。exit()不

mongodb find()查询: return only unique values (no duplicates)

这个问题在这里已经有了答案:Getdistinctrecordsvalues(6个回答)关闭7年前。我有一系列文件:{"networkID":"myNetwork1","pointID":"point001","param":"param1"}{"networkID":"myNetwork2","pointID":"point002","param":"param2"}{"networkID":"myNetwork1","pointID":"point003","param":"param3"}...pointID是唯一的,但networkID不是。是否可以以这样的方式查询Mongod

javascript - 给点击事件监听添加 'return false'有什么效果?

很多时候我在HTML页面中看到过这样的链接:Clickhere!里面的returnfalse有什么作用?另外,我通常不会在按钮中看到它。这是在任何地方指定的吗?在w3.org的某些规范中? 最佳答案 事件处理程序的返回值决定了默认浏览器行为是否也应该发生。在点击链接的情况下,这将是跟随链接,但差异在表单提交处理程序中最为明显,如果用户输入信息错误,您可以取消表单提交。我认为没有W3C规范。所有像这样的古老JavaScript接口(interface)都被赋予了“DOM0”的绰号,并且大多未指定。阅读旧的Netscape2文档可能会有

ruby-on-rails - Rails 中的胖模型 : How do I return hash (errors) or object (when success)

我有一个Order模型,我正在尝试将业务逻辑移到Order而不是OrderController中。这是我面临的问题:classApi::V1::OrdersController所以order.checkout_cash方法是我在订单模型中实现的业务逻辑。我必须知道它是否有效或返回错误。这是我在订单模型中的代码:defcheckout_cash(current_retailer,product_ids_with_quantities,member_external_id)puts"CASH!!!"order=current_retailer.orders.buildorder.payme

ruby 方法 : how to return an usage string when insufficient arguments are given

在我创建了大量的类(使用初始化方法)之后,我将它们加载到IRb中以测试它们中的每一个。我通过创建简单的实例并调用它们的方法来了解它们的行为来做到这一点。然而,有时我不记得当我在类上调用.new方法时应该给出参数的确切顺序。它需要我回头看代码。但是,我认为返回使用消息应该很容易,而不是看到:ArgumentError:wrongnumberofarguments(0for9)所以我更喜欢返回一个带有人类可读参数的字符串,例如使用“puts”或仅返回一个字符串。现在我已经在begin-end代码中看到了rescue关键字,但我想知道在调用initialize方法时如何捕获ArgumentE

ruby - ruby block 中 'return' 关键字的行为

谁能解释一下下面的行为defiteratereturnyieldreturn"endofiterate"enddeftest_iterateassert_equal("endofiterate",iterate{return"endofblock"})assert_equal("endofblock",iterate{"endofblock"})end我知道Procs(也就是block)应该在它们被调用的范围内返回。(与lambda不同)考虑到这一点,测试中的两个调用不应该返回“block结束”吗?这个测试通过了'ruby1.8.7(2009-06-12patchlevel174)[u

ruby-on-rails - 如何做 "redirect_to and return"完全退出或立即 redirect_to?

我的代码是这样的:defindex@monkeys=Monkey.where(owner:current_user)enddefnew@monkey=Monkey.newname:'Monkey1',alive:true,owner:current_userenddefcreate@monkey=Monkey.createmonkey_params#Otherfieldsandsavehereenddefedit@monkey=Monkey.find_by(id:params[:id],owner:current_user)check_on_monkey_first(@monkey)e

ruby 哈希 : return the first key value under which is not nil

假设我有一个散列hash={a:1,b:false,c:nil}&某处的一系列键:[:c,:b,:a]。在!=nil下返回这样的键值是否有Ruby惯用语?目标[:c,:b,:a].select{|key|hash[key]!=nil}.first#returns:b似乎太长了。 最佳答案 我认为Enumerable#find可能有效:find(ifnone=nil){|obj|block}→objornilfind(ifnone=nil)→an_enumeratorPasseseachentryinenumtoblock.Retur

ruby - 在 ruby​​ `return` 方法中使用 `each`

我正在尝试创建一个代码,在我键入搜索名称时进行搜索并返回其数组位置。以下代码有效('Ned'正确显示1的值):array1=['Lucky','Ned',"Dusty'"]counter=0name='Ned'array1.eachdo|lookup|iflookup==nameputscounterendcounter+=1end但是,当我使用returncounter代替putscounter时,代码返回错误。这是错误代码:unexpectedreturn(repl):7:in`blockininitialize'(repl):5:in`each'(repl):5:in`initi

c++ - strstr return 如何不是一个常数

标准函数strstr用于查找字符串中子字符串的位置。函数的两个参数都是constchar*类型,但返回类型是char*。我想知道一个标准函数是如何实现违反const正确性的。 最佳答案 所有constchar*都在告诉你strstr不会修改你传递给它的字符串。是否修改返回的字符串由您决定,因为它是您的字符串!在C++中,这已通过重载方法并具有两个版本进行了更改,const输入版本具有const输出。在C语言中,它没有为您内置的安全级别,并假设您知道自己是否应该修改返回的字符串。 关于c+