Questions tagged «ruby»

Ruby是由松本行弘(Matz)于1995年创建的一种多平台开放源代码,动态的,面向对象的解释性语言。[ruby]标记用于与Ruby语言有关的问题,包括其语法和库。Ruby on Rails问题应标记为[ruby-on-rails]。

5
如果Haml中的条件为true,则追加类
如果 post.published? .post / Post stuff 除此以外 .post.gray / Post stuff 我已经用rails helper实现了它,这看起来很丑。 = content_tag :div, :class => "post" + (" gray" unless post.published?).to_s do / Post stuff 第二个变体: = content_tag :div, :class => "post" + (post.published? ? "" : " gray") do / Post stuff 有没有更简单且特定于haml的方法? UPD。Haml特有的,但仍然不简单: %div{:class => …
155 ruby  haml 


8
在Ruby中显式返回的好样式吗?
来自Python背景,在样式方面总是有“正确的方法”(“ Pythonic”的方法),我想知道Ruby是否也存在这种情况。我一直在使用自己的样式准则,但我正在考虑发布源代码,我希望它遵守可能存在的任何未编写规则。 明确输入return方法是“ Ruby之道” 吗?我见过有和没有,它都有,但是有正确的方法吗?也许有合适的时机吗?例如: def some_func(arg1, arg2, etc) # Do some stuff... return value # <-- Is the 'return' needed here? end

5
数组是否包含来自另一个数组的任何值?
测试数组是否包含第二个数组中的任何元素的最有效方法是什么? 下面的两个示例试图回答问题,但确实foods包含来自的任何元素cheeses: cheeses = %w(chedder stilton brie mozzarella feta haloumi reblochon) foods = %w(pizza feta foods bread biscuits yoghurt bacon) puts cheeses.collect{|c| foods.include?(c)}.include?(true) puts (cheeses - foods).size < cheeses.size
155 ruby  arrays 

30
无法安装RMagick 2.13.1。找不到MagickWand.h。
当我尝试安装rmagick时,出现以下错误消息: Can't install RMagick 2.13.1. Can't find MagickWand.h. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. 我在Mac OSX 10.6.8,ruby 1.9.2p290,rvm 1.10.2上。 谁能帮我解决这个问题。
154 ruby  install  rmagick 

4
如何按数字值对Ruby哈希排序?
我有一个计数器哈希,尝试按计数排序。我遇到的问题是默认的Hash.sort函数对数字(如字符串)进行排序,而不是按数字大小进行排序。 即给定哈希: metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 } 运行此代码: metrics.sort {|a1,a2| a2[1]<=>a1[1]} 将返回一个排序数组: [ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10] 即使745大于9,9仍将出现在列表的第一位。当试图显示谁拥有最高职位时,这使我的生活变得困难。:) 关于如何通过数字值大小对哈希(甚至是数组)进行排序的任何想法? 感谢您的帮助。
154 ruby  hash 

7
为什么Ruby 1.9.2删除“。” 从LOAD_PATH,还有什么选择?
Ruby 1.9.2的最新变更集不再使当前目录.成为您的的一部分LOAD_PATH。我有大量的Rakefiles假定.是Rakefile的一部分LOAD_PATH,所以这使它们中断了(它们报告说,所有基于项目路径的require语句都“没有要加载的文件”)。是否有这样做的特殊理由? 至于修复,$: << "."在任何地方添加都可以,但是似乎难以置信,我不想这样做。使我的Rakefiles 1.9.2+兼容的首选方法是什么?
154 ruby  rake  require  load-path 

9
Ruby on Rails:如何将字符串呈现为HTML?
我有 @str = "<b>Hi</b>" 在我的erb视图中: <%= @str %> 页面上将显示:<b>Hi</b>当我真正想要的是Hi时。将字符串“解释”为HTML标记的红宝石方法是什么? 编辑:的情况下 @str = "<span class=\"classname\">hello</span>" 如果我认为 <%raw @str %> HTML源代码是<span class=\"classname\">hello</span>我真正想要的位置<span class="classname">hello</span>(没有转义双引号的反斜杠)。“取消转义”双引号的最佳方法是什么?

14
do..end vs括号中的大括号
我有一个同事正在积极尝试说服我不要使用do..end,而应使用花括号在Ruby中定义多行块。 我坚决只使用短括号来代替大括号,而对其他所有东西都做完。但是我认为我会与更广泛的社区联系以获得一些解决方案。 那是什么,为什么?(一些Shoulda代码示例) context do setup { do_some_setup() } should "do somthing" do # some more code... end end 要么 context { setup { do_some_setup() } should("do somthing") { # some more code... } } 就个人而言,仅看上述内容就可以为我解答问题,但我想向更大的社区开放。

6
如何在哈希中交换键和值
如何交换哈希中的键和值? 我有以下哈希: {:a=>:one, :b=>:two, :c=>:three} 我想转化为: {:one=>:a, :two=>:b, :three=>:c} 使用map似乎很乏味。有没有更短的解决方案?
154 ruby  hashmap 

11
Ruby:require vs require_relative-解决在Ruby <1.9.2和> = 1.9.2中运行的最佳方法
如果我想require在Ruby中创建一个相对文件并且希望它在1.8.x和&gt; = 1.9.2中都可以工作,那么最佳实践是什么? 我看到一些选择: 只是去做$LOAD_PATH &lt;&lt; '.',忘记一切 做 $LOAD_PATH &lt;&lt; File.dirname(__FILE__) require './path/to/file' 检查是否RUBY_VERSION&lt;1.9.2,然后定义require_relative为,然后在需要的地方require使用require_relative 检查是否require_relative已经存在(如果存在),请尝试像以前一样进行 使用怪异的结构,例如-they,它们似乎无法完全在Ruby 1.9中工作,因为,例如:require File.join(File.dirname(__FILE__), 'path/to/file')$ cat caller.rb require File.join(File.dirname(__FILE__), 'path/to/file') $ cat path/to/file.rb puts 'Some testing' $ ruby caller Some testing $ pwd /tmp $ ruby /tmp/caller Some testing $ ruby tmp/caller tmp/caller.rb:1:in 'require': no such …
153 ruby  ruby-1.9  ruby-1.8 

17
如何调试Ruby脚本[关闭]
关闭。这个问题需要调试细节。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 去年关闭。 改善这个问题 我从互联网上复制了以下Ruby代码并进行了一些更改,但是它不起作用。 我该如何自己调试程序?
153 ruby  debugging 



7
轨道中的前导零
我的应用程序中有字段hr和min,都是整数。对于hr字段,如果用户输入“ 1”,我希望Rails在将其保存到数据库之前将其自动填充为“ 01”。同样对于该min字段,如果用户输入“ 0”,则应将其输入为“ 00”。 我怎样才能做到这一点?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.