草庐IT

有意思

全部标签

ruby - [*a..b] 在 Ruby 中的语法是什么意思?

注意:mischa的splatonGitHub有很多很酷的*互动示例。通过谷歌搜索,我发现了一种在Ruby中迭代一系列数字的方法(经典的C风格for循环)for(i=first;i就是做这样的事情[*first..last].eachdo|i|whateveriend但是[*first..last]语法到底发生了什么?我玩过irb,我看到了这个:ruby-1.9.2-p180:001>0..5=>0..5ruby-1.9.2-p180:002>[0..5]=>[0..5]ruby-1.9.2-p180:003>[*0..5]=>[0,1,2,3,4,5]ruby-1.9.2-p180:

c# - 术语 "true"面向对象是什么意思

我听说过很多关于Ruby,甚至可能是Javascript是“真正的”面向对象的语言,而不是C++和C#,后者是面向类(或基于模板)的语言。真正的OO是什么意思,它相对于类/模板方法有什么优势? 最佳答案 这是一个用于推广语言的主观术语。我曾经看到有人说,与C++相比,C#和Java是真正的面向对象语言,因为一切都必须在一个类中(没有全局函数或变量),并且所有对象都继承自一个Object类。对于Ruby,它可能指的是Ruby如何将一切都视为一个对象,因此您可以编写1.to_s,而不是像str(1)或String.valueOf(1)。

ruby-on-rails - 创造什么!意思是在 rails 上?

这在Rails中有什么作用?create!do|user|#initialiseuserend我想它会创建一个用户对象并将其保存到数据库中。它与仅说user.new(...)和user.save()有何不同? 最佳答案 简而言之:create!引发异常,而create返回对象(如果未通过验证则为未保存的对象)。save!引发错误,而save返回true/false。save不带属性,create带。new不保存。new类似于ActiveRecord上下文中的build。create保存到数据库并根据模型验证返回true或false。

sql - Rails 控制台和 Rails 服务器日志中输出的颜色是什么意思?

我在Ubuntu14.04中的通用终端(应用程序简称为“终端”)内运行railsserver和railsconsole。每当我运行涉及数据库的命令时,控制台都会输出它发送的SQL查询,但有时文本是绿松石色,有时是紫​​色。例如在这个控制台输出中:2.2.2:025>pl=ProjectLevel.find_by(name:'Premium')ProjectLevelLoad(0.5ms)SELECT"project_levels".*FROM"project_levels"WHERE"project_levels"."deleted_at"ISNULLAND"project_level

ruby - "$&"在 Ruby 中是什么意思

我注意到spree库中的一行代码:label_with_first_letters_capitalized=t(options[:label]).gsub(/\b\w/)#{$&.upcase}谁能告诉我“$&”是什么意思?谢谢! 最佳答案 这是一个referencetosomeofthosespecialvariablesallowedinruby.基本上,这个返回最后一个模式匹配是什么。来自链接页面:$&containsthematchedstringfromtheprevioussuccessfulpatternmatch.>

ruby - $:<< "." do to Ruby's require path? 是什么意思

我不明白$:的意思在Ruby中。我将Ruby升级到1.9.1,但程序无法运行。我的同学告诉我,我应该添加$:什么是$:做? 最佳答案 $:是包含构成Ruby加载路径的路径数组的变量将一个项目追加到数组的末尾.引用当前目录123|||VVV$:所以你正在将当前目录添加到Ruby的加载路径引用资料:可以在ExecutionEnvironmentVariables中找到此页面的一部分来自ThePragmaticProgrammersGuideAnarrayofstrings,whereeachstringspecifiesadirecto

ruby - =~ 和/\在 Ruby 中是什么意思?

我一直在自学Ruby,对于我试图解决的某个问题,我注意到很多人在他们的代码中使用=~和/\代码。我不太确定它们是如何工作的,只是想得到一个解释。例如,我正在查看某人为这个PigLatin翻译器编写的代码,这是我第一次看到这些被使用。defpiglatin(word)ifword=~(/\A[aeiou]/i)word=word+'ay'elsifword=~(/\A[^aeiou]/i)match=/\A[^aeiou]/i.match(word)word=match.post_match+match.to_s+'ay'endwordend我只是对/\斜杠和=~感到困惑

ruby - regexp\k<name+0> 中的 "+0"是什么意思?

我是Ruby中正则表达式的新手,我似乎找不到任何关于\k内容的可靠文档。方法。这是+0我没有得到的部分。这是一个例子——这个正则表达式匹配回文:\A(?(?:(?\w)\g\k|\w))\z当我删除+0在\k它不再正确匹配。我的测试:>>/\A(?(?:(?\w)\g\k|\w))\z/.match"aabbcdcbbaa"#=>#>>/\A(?(?:(?\w)\g\k|\w))\z/.match"aabbcdcbbaa"#=>nil我所做的就是删除+0.我还没有找到任何文档或示例,任何人都可以指出正确的方向吗? 最佳答案 \k与(

ruby-on-rails - map(& :name) do in this Ruby code? 是什么意思

为了更好地理解Ruby,我在网上冲浪时遇到了这段代码:require'rubygems'require'activeresource'ActiveResource::Base.logger=Logger.new("#{File.dirname(__FILE__)}/events.log")classEvent"Shortesteventevar!",:starts_at=>1.second.ago,:capacity=>25,:price=>10.00)e.destroy我特别感兴趣的是events.map(&:name)是如何工作的?我看到events是一个数组,因此它调用了它的ma

ruby - "class#method"在 ruby 中是什么意思?

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicate:Whyaremethodsinrubydocumentationprecededbyapoundsign?EDIT:DuplicateofWhyaremethodsinrubydocumentationprecededbyapoundsign?你好,我正在尝试利用免费的ProgrammingRuby书在业余时间学习Ruby以获取乐趣。它大部分是相当直接的,但我一直看到像这样的符号KaraokeSong#to_s,这在本书的前几章中并没有真正解释。我知道它的意思是#但它是您可以在代码中使用的东西吗?或者只是ru