Questions tagged «ruby»

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

7
您可以在Ruby中为map(&:method)语法提供参数吗?
您可能熟悉以下Ruby速记(a是一个数组): a.map(&:method) 例如,在irb中尝试以下操作: >> a=[:a, 'a', 1, 1.0] => [:a, "a", 1, 1.0] >> a.map(&:class) => [Symbol, String, Fixnum, Float] 语法a.map(&:class)是的简写a.map {|x| x.class}。 在“ Ruby中的map(&:name)意味着什么? ”中阅读有关此语法的更多信息。 通过语法&:class,您可以class对每个数组元素进行方法调用。 我的问题是:您可以为方法调用提供参数吗?如果是这样,怎么办? 例如,如何转换以下语法 a = [1,3,5,7,9] a.map {|x| x + 2} 在&:语法? 我并不是说&:语法更好。我只对将&:语法与参数结合使用的机制感兴趣。 我假设您知道这+是Integer类上的方法。您可以在irb中尝试以下操作: >> a=1 => 1 >> a+(1) => 2 >> a.send(:+, …
116 ruby 

18
红宝石拍打法的优势
我刚刚读了一篇博客文章,发现作者tap在摘要中使用了以下内容: user = User.new.tap do |u| u.username = "foobar" u.save! end 我的问题是使用它的好处或好处到底是什么tap?我不能只是做: user = User.new user.username = "foobar" user.save! 或更好: user = User.create! username: "foobar"
116 ruby 







16
得到“警告!使用rvm 2.0.0时,“ PATH设置不正确” --default
以上第一次无效,第二次有效。 尝试将任何新的shell窗口的ruby版本设置为2.0.0。 在做 $ rvm use 2.0.0 --default 给 Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/ bin' is not at first place, usually this is caused by shell initialization files - check them for ' PATH=...' entries, it might also help to re-add RVM to your dotfiles: 'rvm get …


20
Ruby中非常便宜的命令行选项解析
编辑:拜托,拜托,在回复之前,请先阅读此帖子底部列出的两个要求。人们一直在发布他们的新宝石和资源库,而这些显然不符合要求。 有时,我想非常便宜地将一些命令行选项修改成一个简单的脚本。一个有趣的方法,无需处理getopts或解析或类似的事情,是: ... $quiet = ARGV.delete('-d') $interactive = ARGV.delete('-i') ... # Deal with ARGV as usual here, maybe using ARGF or whatever. 它不是普通的Unix选项语法,因为它将接受选项非选项命令行参数,例如“ myprog -i foo bar -q”,但是我可以接受。(某些人,例如Subversion开发人员,更喜欢这样做。有时我也这样做。) 仅存在或不存在的选项无法比上述实现简单得多。(一个赋值,一个函数调用,一个副作用。)是否有同样简单的方法来处理带有参数的选项,例如“ -f filename ”? 编辑: 我之前没有提过一点,因为直到Trollop的作者提到该库适合“在一个[800行]文件中”时,我才意识到这一点,因为我不仅在寻找干净的东西。语法,但具有以下特征的技术: 整个代码都可以包含在脚本文件中(而不会占用实际的脚本本身,可能只有几十行),因此,可以在bin具有标准Ruby 1.8的任何系统上将单个文件放入目录中。[5-7]安装并使用它。如果您无法编写没有require语句的Ruby脚本,并且解析几个选项的代码不到12行,那么您将无法满足此要求。 该代码小而简单,以至于人们可以记住足够多的代码以直接键入将完成此操作的代码,而不是从其他位置进行剪切和粘贴。考虑一下您处于无法访问Internet的防火墙服务器的控制台上的情况,并且希望将一个快速的脚本放在一起供客户端使用。我不了解您,但是(除未达到上述要求之外)我什至不打算记住45行简化的微光学显微镜。
114 ruby 

30
红宝石脱轨
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 有时,我的公司是世界上唯一使用Ruby的公司,但没有使用Ruby on Rails,以至于Rails几乎已经成为Ruby的代名词。 我敢肯定这不是真的,但是听到一些有关非Rails Ruby使用的故事会很有趣。
114 ruby 




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.