草庐IT

引用查找

全部标签

ruby - 如何引用另一个 Ruby 代码文件中的方法?

我有一个Ruby代码文件(somelogic.rb),其中包含几个方法和类,位于比方说/home/user/code中。现在我正在同一目录中编写另一个类,并想引用somelogic.rb中的方法和类。我怎么做?我非常感谢任何意见。 最佳答案 如果您使用的是Ruby1.9或更高版本,这是最简单的方法:require_relative'somelogic'如果你想让你的代码在1.9和旧版本的Ruby中工作,你应该这样做:requireFile.joinFile.dirname(__FILE__),'somelogic'无论选择哪一行,都

ruby - 是否有 Ruby 语法的权威引用文档?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找有关Ruby语法的权威文档。我知道核心API和标准库的权威文档,但语法本身呢?例如,这样的文档应该包括:保留字、字符串字面量语法、变量/类/模块的命名规则、所有条件语句及其排列等等。我知道有很多书籍和教程,是的,但是每一本本质上都是一个教程,每本都有不同的深度和重点。为了简洁和叙述流畅,它们都将省略作者认为无关紧要的某些语言细节。例如,您是否知道可以使用没有

ruby - 我可以使用 Ruby 从自身内部引用 lambda 吗?

我希望能够使用Ruby从自身内部调用匿名lambda。考虑以下递归block(返回阶乘)。我知道我可以将它分配给一个变量,并且该变量在lambda的范围内:fac=lambda{|n|n==1?1:n*fac.call(n-1)}fac.call(5)但是,我希望能够执行以下操作(目前还没有实际原因,我只是对进一步探索该语言感兴趣):(lambda{|n|n==1?1:n*self.call(n-1)}).call(5)我知道那不会起作用,因为self是main对象。我做错了吗?我是否正在尝试做一些不可能的事情——如果不是,这是因为某些理论限制还是根本没有在Ruby中实现?

ruby-on-rails - 在 Ruby on Rails 上下文中引用什么是中间件?

我经常在RubyonRails的上下文中听到“中间件”一词。它到底是什么?能否举出具体例子? 最佳答案 中间件与Rack相关,Rack是用于Web应用程序的标准RubyAPI。由于Rails应用程序现在是Rack应用程序,因此它们适用于两者。机架中间件是应用程序服务器(Webrick、Thin、Unicorn、Passenger等)和实际应用程序(例如Rails应用程序)之间的一切。这是pipeline在Web应用程序服务器和应用程序本身之间。Rack应用程序的输入是一个包含所有HTTP请求详细信息(以及更多)的“环境”。输出是HT

Ruby:查找最近修改的文件

在目录中查找最近修改的文件的惯用方法是什么? 最佳答案 Dir.glob("*").max_by{|f|File.mtime(f)} 关于Ruby:查找最近修改的文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4823507/

ruby - 在文本文件中查找与正则表达式匹配的行

谁能解释一下我如何在Ruby中使用正则表达式来只返回字符串的匹配项。例如,如果代码读取一个包含一系列名称的.txt文件:JohnSmithJamesJonesDavidBrownTomDavidsonetcetc..并且要匹配的单词被输入为“ohn”,然后它只会返回“JohnSmith”,但不会返回任何其他名字。 最佳答案 注意:在现代Rubies中,不要使用File.each_line,而是使用IO.foreach。例如:[1]pry(main)>IO.foreach('./.bashrc')do|l|[1]pry(main)*p

ruby - 在数组中查找最常见的字符串

例如,我有这个数组(大小可变):x=["1.111","1.122","1.250","1.111"]我需要找到最常见的值(在本例中为“1.111”)。有没有简单的方法可以做到这一点?提前致谢!编辑#1:谢谢大家的回答!编辑#2:我已经根据Z.E.D.的信息更改了我接受的答案。再次感谢大家! 最佳答案 ruby#!/usr/bin/ruby1.8defmost_common_value(a)a.group_bydo|e|eend.values.max_by(&:size).firstendx=["1.111","1.122","1.

ruby-on-rails - Rails ActiveRecord:PG::错误:错误:列引用 "created_at"不明确

我正在努力解决对象中的错误,但完全不确定问题出在哪里。这是模型的样子:classCar:car_colorsendclassCarColor:car_colorsend这里是查询:@cars=Car.all(:joins=>:car_colors,:conditions=>{:car_colors=>{:color_id=>params[:id_number]}},:order=>"cars.created_atDESC")错误输出:PG::Error:ERROR:columnreference"created_at"isambiguousLINE1:...d"WHERE"car_co

ruby-on-rails - 查找存在属性的记录

我有一个User模型,具有属性username、email和name。username和email在注册时是必需的,但不是name。查找所有填写了name(即不是nil)的用户的查询是什么?查询应该至少与Rails3.2和4.0兼容。我在想一些事情:User.where(name:present?) 最佳答案 [2022年5月13日更新]要获取SQL中不存在属性的所有记录,我们将编写WHEREattrISNULLorattr=''一个容易犯的错误就是否定它并写成WHEREattrisnotnullandattr!=''但是在SQL中

ruby-on-rails - Rails 根据两个字段查找或创建

我有一个field模型,我想做这个Venue.find_or_create_by_但我只希望在不存在具有相同名称和日期的场所的情况下创建一个新场所例如=>Venue(id:integer,location:string,showdate:datetime,created_at:datetime,updated_at:datetime)field是唯一的,如果位置和放映日期不在数据库中,则需要创建field 最佳答案 您可以使用_and_将列链接在一​​起。这应该可以解决问题:Venue.find_or_create_by_locat