Tag: switch statement

使用|| 在Rails中的Case切换

我有一部分只有当某些页面使用该布局时我才想在布局中显示。 我为我的所有页面设置了@page_title,并认为我可以使用这样的东西: “common/hello-world” -%> 但是,包含仅发生在标题为“登录”的页面上,而不是其他页面上。 是|| Case开关上不允许这样的语句? 是否有不同的方法在案例开关中设置OR语句? 谢谢!

Rails在视图中切换案例

我想在我的视图中写一个switch case: “one”) %> “two”) %> “three”) %> 但它不起作用。 我是否必须在每行的某处添加 ? 有任何想法吗 ? 谢谢 !

案例陈述未按预期运作

我有一个名为Exercises.rb文件 def ask(prompt) print prompt, ‘ ‘ $stdout.flush s = gets return s end def myreverse(s) aux=”” for i in 0..s.length-1 aux=s[i] + aux end return aux end def mywordreverse(s) aux=[] s=s.split(” “) for i in 0..s.length-1 aux.unshift(s[i]) end return aux.join(” “) end def choose(s,option) case option when 1 then print myreverse(s) when 2 then […]

如何在案例中“突破”……在Ruby中

所以,我试过break ,然后return 。 他们都会出错, exit当然有效,但完全退出。 那么,如何“结束一个case…when ”太快了?“ 例: case x when y; begin if something end end (以上是某种forms的伪代码,只是为了给出我所要求的一般概念[开始…结束时使用希望break可行]。 而且,虽然我在这里,是否有更优雅的方式将块传递到case…when ?

proc可以与Ruby 2.0中的case语句一起使用吗?

我记得Ruby 2.0中的case语句允许使用procs,但我不能谷歌。 我尝试检查Ruby 2.0.0 NEWS以及如何在Ruby中编写switch语句 。 我也访问了http://ruby-doc.org ,但它对关键字的链接是针对Ruby 1.9而不是Ruby 2.0。 案件陈述中是否允许触发?

Ruby是一种在条件上执行函数的聪明方法

作为一个有趣的项目,我正在Ruby中实现Beatnik解释器。 如果您从未听说过Beatnik,那么它就是一种深奥的编程语言,其中的操作由源代码中单词的“scrabble score”指定。 无论如何,实现需要针对不同的拼字游戏分数进行不同的操作。 这不是特别实现的,一个明显的方法是if语句: if score == 1 … elsif score == 2 … else … end 另一种方法是使用case语句: case score when 1 … when 2 … else … end 但是这两种方法都不是特别优雅,你能否提出另一种方法来实现这一点?

在Ruby的情况下使用带有正则表达式匹配的命名Captures ……什么时候?

我想使用命名捕获来解析用户输入以提高可读性。 当他们键入命令时,我想捕获一些参数并传递它们。 我在case语句中使用RegExps,因此我无法分配/pattern/.named_captures的返回/pattern/.named_captures 。 这是我希望能够做到的(例如): while command != “quit” print “Command: ” command = gets.chomp case command when /load (?\w+)/ load(filename) end end

使用旧版本的Rake

我有Rake版本0.9.1,但我需要使用0.8.7进行项目,我相当确定我已经安装了两个版本,但它默认使用0.9.1。 有没有办法指定使用哪个版本的Rake? 我正在尝试运行这个:rake db:drop db:create db:migrate db:seed我得到了这个错误:你已经激活了rake 0.9.1,但是你的Gemfile需要rake 0.8.7。 考虑使用bundle exec。

在case语句中使用类对象

在case语句中使用类对象的最佳方法是什么? 假设我有a Class类的实例。 我想将它与不同的类相匹配。 如果我做 case a when String then … when Fixnum then … end 这不会给出预期的结果,因为即使a == String ,例如, a === String也不是真的。 这样做的聪明方法是什么?

使case / switch返回值的快捷方式

我很确定我看到有人像下面的代码一样执行快捷方式(这不起作用) return case guess when guess > @answer then :high when guess < @answer then :low else :correct end 有谁知道我指的诀窍?