我知道我可以编写Rubycase语句来检查与正则表达式的匹配。但是,我想在返回语句中使用匹配数据。像这样的半伪代码:foo="10/10/2011"casefoowhen/^([0-9][0-9])/print"themonthis#{match[1]}"elseprint"somethingelse"end我怎样才能做到这一点?谢谢!请注意:我知道我永远不会在上述简单情况下使用switch语句,但这只是一个示例。实际上,我试图实现的是为一个可以用各种方式编写的日期匹配许多潜在的正则表达式,然后相应地使用Ruby的Date类对其进行解析。 最佳答案
我能描述我正在寻找的最好方法是向您展示我迄今为止尝试过的失败代码:casecarwhen['honda','acura'].include?(car)#codewhen'toyota'||'lexus'#codeend我有大约4或5种不同的when情况,它们应该由大约50种不同的car值触发。有没有办法用caseblock来做到这一点,或者我应该尝试大量的ifblock? 最佳答案 在case语句中,,等同于if语句中的||。casecarwhen'toyota','lexus'#codeendSomeotherthingsyouc
如何在Ruby中编写switch语句? 最佳答案 Ruby使用caseexpression相反。casexwhen1..5"It'sbetween1and5"when6"It's6"when"foo","bar""It'seitherfooorbar"whenString"Youpassedastring"else"Yougaveme#{x}--Ihavenoideawhattodowiththat."endRuby使用===运算符将when子句中的对象与case子句中的对象进行比较。例如,1..5===x,而不是x===1..5。
我无法让ng-transclude在ng-switch-default指令中工作。这是我的代码:指令:.directive('field',['$compile',function($complile){return{restrict:'E',scope:{ngModel:'=',type:'@',},transclude:true,templateUrl:'partials/formField.html',replace:true};}])partials/formField.html我是这样调用它的……test...产生错误的地方:[ngTransclude:orphan]Ille
在开关外部的javascript中使用标签(标签:stuffhere)有什么意义? 最佳答案 您可以将它们用作break和continue的goto语句,但诚然您在实践中很少看到这种情况。Youcanfindafewexampleshere.这是一个快速的例子:myLabel:for(vari=0;i 关于javascript-在javascript中使用标签有什么意义(标签:stuffhere)outsideswitches?,我们在StackOverflow上找到一个类似的问题:
我有一个像这样声明的“枚举”:varPlaceType={PASSABLE_TERRAIN:1,IMPASSABLE_TERRAIN:0,SOMEWHAT_PASSABLE_TERRAIN:2,PATH:3};和一个像这样声明的函数:setPlaceType(placeType){this.clear=false;this.placeType=placeType;alert("beforeswitch"+(PlaceType.SOMEWHAT_PASSABLE_TERRAIN==this.placeType));switch(this.placeType){casePlaceType.
我发现下面这两个是等价的,但是奇怪的是,单个=不是关系运算符而是赋值运算符,为什么它在第二个中有效?首先:switch(true){casecolor=='green':casecolor=='red':casecolor=='blue':casecolor=='pink':alert('colorful')break;casecolor=='black':casecolor=='white':alert('classical')break;default:alert('dull')break;}第二个:switch(color){casecolor='green':casecolor
我使用这些JavaScript代码来更改脚本中的类:vartoggleDirection=function(){group.classList.toggle('left-to-right');group.classList.toggle('right-to-left');}在我的示例中,只有两个类需要更改,但也可以是多个类...因此:有谁知道编写示例的方法不那么冗余? 最佳答案 不,不可能直接使用Element.classListAPI。查看API,您可以阅读:toggle(String[,force])Whenonlyonearg
我目前正在学习关于Javascript的代码学院类(class),并且我被困在FizzBuzz任务上。我需要从1到20数,如果这个数字可以被3printfizz整除,被5printbuzz整除,被两个printfizzbuzz整除,否则只打印数字。我能够用if/elseif语句来完成它,但我想用switch语句来尝试它,但无法得到它。我的控制台只记录默认值并打印1-20。有什么建议么?for(varx=0;x 最佳答案 Switch将switch(x){中的x与case表达式的求值结果相匹配。由于您所有的情况都会导致true/f
有没有办法在单个Javascriptswitch语句中创建多个case?在我的代码中,我通过jQuery接收字段的值。是否有可能一种情况检查字符串正则表达式而另一种情况检查相同变量的数量?我的思路是:varfield=$(this).val();varmsg;switch(field){casefield.test('Yes'):msg="FOO\n";break;case10:msg="BAR\n";break;}虽然我在这里看到:SwitchstatementforstringmatchinginJavaScript在字符串上使用switch的方法是向switch语句发送一个“真”