草庐IT

which_case

全部标签

ruby - "which in ruby": Checking if program exists in $PATH from ruby

我的脚本严重依赖外部程序和脚本。我需要确定我需要调用的程序存在。手动地,我会在命令行中使用“which”来检查这一点。对于$PATH中的东西,是否有等同于File.exists?的东西?(是的,我想我可以解析%x[whichscriptINeedToRun]但这不是super优雅。谢谢!亚尼克更新:这是我保留的解决方案:defcommand?(command)system("which#{command}>/dev/null2>&1")end更新2:出现了一些新的答案-至少其中一些提供了更好的解决方案。更新3:ptoolsgem向File类添加了一个“which”方法。

ruby - 如何使用正则表达式和反向引用编写 Ruby switch 语句(case...when)?

我知道我可以编写Rubycase语句来检查与正则表达式的匹配。但是,我想在返回语句中使用匹配数据。像这样的半伪代码:foo="10/10/2011"casefoowhen/^([0-9][0-9])/print"themonthis#{match[1]}"elseprint"somethingelse"end我怎样才能做到这一点?谢谢!请注意:我知道我永远不会在上述简单情况下使用switch语句,但这只是一个示例。实际上,我试图实现的是为一个可以用各种方式编写的日期匹配许多潜在的正则表达式,然后相应地使用Ruby的Date类对其进行解析。 最佳答案

Ruby 类类型和 case 语句

有什么区别caseitem.classwhenMyClass#dosomethingherewhenArray#dosomethingdifferentherewhenString#doathirdthingend和caseitem.classwhenMyClass.class#dosomethingherewhenArray.class#dosomethingdifferentherewhenString.class#doathirdthingend出于某种原因,有时第一个有效而第二个无效,有时第二个有效而第一个无效。为什么?哪一种是“正确”的做法? 最佳

ruby-on-rails - 在 Ruby 中将字符串从 snake_case 转换为 CamelCase

我正在尝试将名称从蛇形格式转换为驼形格式。是否有任何内置方法?例如:"app_user"到"AppUser"(我有一个字符串"app_user"我想将它转换为模型AppUser)。 最佳答案 如果您使用的是Rails,String#camelize正是您要找的。"active_record".camelize#=>"ActiveRecord""active_record".camelize(:lower)#=>"activeRecord"如果你想得到一个实际的类,你应该使用String#constantize最重要的是。"app_u

ruby-on-rails - 每个 'when' block 中有多个值的 Case 语句

我能描述我正在寻找的最好方法是向您展示我迄今为止尝试过的失败代码:casecarwhen['honda','acura'].include?(car)#codewhen'toyota'||'lexus'#codeend我有大约4或5种不同的when情况,它们应该由大约50种不同的car值触发。有没有办法用caseblock来做到这一点,或者我应该尝试大量的ifblock? 最佳答案 在case语句中,,等同于if语句中的||。casecarwhen'toyota','lexus'#codeendSomeotherthingsyouc

javascript - 这个语法是什么意思 which likes `functionName: {}` ?

我在公司的项目中发现了一段代码,如下所示:while(condition){code...reloop:{if(somethingIsTrue){breakreloop;}}code...}我不明白reloop是做什么的,谁能简单解释一下? 最佳答案 reloop:是一个标签。它们很少被使用,并且有一个非常特定的用途:它们让您从内部break或continueouter循环循环。MDN上的文章aboutlabels更好地解释了这一点。请注意,标签很少使用,并且大多数时候需要标签暗示您的代码不明确,应该重新构建。我从来没有,甚至一次都

javascript - 使用 'Promise' 与不使用 'Promise' : in which cases?

我不知道SO是否适合提出这样的问题。我知道一点Promises,我在Node/Express环境中使用它们来“修复”Node的异步行为查询数据库(=等待数据库回答,然后做一些事情)。然而,我使用它们的次数越多,我就越不知道何时不用它们。例如,我写了一段这样的代码(用于查询GoogleMatrixAPI的本地脚本).......for(vari=0;i{}...我不知道在这里使用Promise.all是否有意义...有规律可知吗?我没有得到的行为?换句话说,我什么时候知道我的脚本运行没有正确参数的函数存在“风险”(argument从另一个函数返回这不是“结束”)...?谢谢。

javascript - d3 + 主干 : updating elements for which data has changed

我将d3与Backbone.js模型一起使用。当模型属性发生变化时,将触发一个事件,并用hasChanged()标志标记模型,并返回一个changedAttributes()散列。我了解如何使用d3的enter()和exit()来处理已创建或删除的模型。我无法弄清楚的是如何根据模型属性的变化修改相应的DOM元素。我可以使用Backbone助手来确定要修改的内容,但是d3的下一步是什么? 最佳答案 我在d3邮件列表上得到了一些有用的回复:http://groups.google.com/group/d3-js/browse_threa

javascript - react : what are use cases when we need React. child api

只是试图找到React.Childrenapi的任何用例。阅读文档令人困惑。(react15.2.0版)https://facebook.github.io/react/docs/top-level-api.html#react.children他们在这里说,this.props.children是“不透明数据结构”。但是在chrome开发工具中调试时,它看起来像children是一个数组。所以像React.Children.map或React.Children.toArray这样的函数没有多大意义,因为Array.prototype.map可以用来代替第一个,最后一个产生与原始chi

javascript - jQuery 事件按键 : Which key was pressed? A-Z, & @

在按下键时,我从jQuery得到以下内容:jQuery.EventaltKey:falseattrChange:undefinedattrName:undefinedbubbles:truebutton:undefinedcancelable:truecharCode:0clientX:undefinedclientY:undefinedctrlKey:falsecurrentTarget:HTMLDivElementdata:undefineddetail:0eventPhase:2fromElement:undefinedhandleObj:Objecthandler:functi