草庐IT

open函数

全部标签

ruby - 在 ruby​​ 中调用父构造函数

如何调用父类的构造函数?moduleCattr_accessor:c,:ccdefinitializationc,cc@c,@cc=c,ccendendclassBattr_accessor:b,:bbdefinitializationb,bb@b,@bb=b,bbendendclassA谢谢。 最佳答案 Ruby没有构造函数,因此显然不可能调用它们,无论是父类还是其他。然而,Ruby确实有方法,并且为了调用与当前正在执行的方法同名的父方法,您可以使用super关键字。[注意:不带参数的super是传递与当前正在执行的方法相同的参数

ruby-on-rails - 如何测试某个函数是否使用 Rails 和 rspec 2 中的事务

我有一个模型函数,我想确保它使用事务。例如:classModeldefmethodModel.transactiondo#dostuffendendend我目前的方法是在block内存入一个方法调用以引发ActiveRecord::Rollback异常,然后检查数据库是否真的发生了变化。但这意味着如果由于某种原因block内的实现发生变化,那么测试就会中断。你会如何测试这个? 最佳答案 你应该换个角度看问题。从行为的角度来看,测试函数是否使用事务是没有用的。它不会为您提供有关函数是否按预期运行的任何信息。您应该测试的是行为,即预期结

ruby - gem 和 require 的区别(require open-uri)

我只是想了解自己。我正在使用nokogirigem(用于解析HTML)。如果我能正确打开URL,我需要使用gem“open-uri”中的方法。但是当我将它包含在我的Gemfile中时(在Windows开发人员的机器上):gem'open-uri'-捆绑安装时出现找不到gem的错误。因此,如果我使用require'open-uri'-它可以正常工作。那么有人能解释一下这是怎么回事吗? 最佳答案 您正在使用bundler对于您的gem依赖项,您做对了,但是OpenUri是Ruby标准库的一部分。这就是为什么如果您想在代码中使用它,您仅需

ruby - 调用/应用 lambda 与函数调用 - Ruby 中的语法不同。为什么?

我对Ruby有点陌生,仍在努力理解一些语言设计原则。如果我做对了,Ruby中的lambda表达式调用必须使用方括号,而“常规”函数调用则使用“常规”/圆括号。语法不同是不是有什么特殊原因?或者,换句话说,(为什么)调用者应该知道他们是调用函数还是应用lambda表达式? 最佳答案 常规的Ruby方法调用使用()而不是用于block的花括号。如果您不喜欢[]来调用lambda,您始终可以使用call方法。例子:>>by_two=lambda{|x|x*2}#=>#>>by_two[5]#=>10>>by_two.call(5)#=>1

ruby-on-rails - 为什么 Ruby open-uri open 在我的单元测试中返回一个 StringIO,而在我的 Controller 中返回一个 FileIO?

我继承了一个Rails2.2.2应用程序,它在AmazonS3上存储用户上传的图像。基于attachment_fu的Photo模型提供了一个rotate方法,该方法使用open-uri从S3和MiniMagick中检索图像以执行旋转。rotate方法包含这一行来检索用于MiniMagick的图像:temp_image=MiniMagick::Image.from_file(open(self.public_filename).path)self.public_filename返回类似的内容http://s3.amazonaws.com/bucketname/photos/98/phot

ruby - rspec:如何 stub 构造函数调用的实例方法?

classAdefinitialize@x=do_somethingenddefdo_something42endend如何在调用原始实现之前在rspec中stubdo_something(从而将42分配给@x)?当然,在不改变实现的情况下。 最佳答案 Here'sthecommitwhichaddsthefeaturetorspec-这是在2008年5月25日。有了这个你可以做A.any_instance.stub(do_something:23)但是,rspec的最新gem版本(1.1.11,2008年10月)没有这个补丁。Th

ruby - 法拉第的 "timeout"和 "open timeout"是什么?

由于Faraday没有文档,我无法在任何地方找到它。法拉第什么是“timeout”,什么是“opentimeout”? 最佳答案 如果您在https://github.com/lostisland/faraday/blob/master/lib/faraday/request.rb查看源代码然后你会看到:#:timeout-open/readtimeoutIntegerinseconds#:open_timeout-readtimeoutIntegerinseconds也许不是很有帮助?好吧,如果您在https://github.c

ruby-on-rails - File.open,写入并保存?

我正在尝试获取一个.rb文件,以便在运行该文件时在具有指定内容的特定目录中创建另一个.rb文件。我不知道最好的方法是使用Ruby文件还是Rake文件。你的输入会很棒。 最佳答案 如果您只需要执行一个简单的脚本,比如创建一个文件,您可以简单地使用Ruby脚本,而无需创建rake任务。#fileorigin.rbtarget="target.rb"content=你可以执行文件$rubyorigin.rb 关于ruby-on-rails-File.open,写入并保存?,我们在StackOv

禁止 Ruby open-uri 重定向

我一直在研究这个简单的html解析器(用于学习目的)。require'open-uri'puts"EnterURLtoparseHTML:"url=gets.chompputs"Entertagtoparsefrom:"tag=gets.chompresponse=open(url).readtitle1=response.index(tag)title2=response.index(tag.insert(1,'/'))-1result=response[(title1+tag.length-1)..title2]printresult当我输入http://twitter.com时,

Unity3D不同脚本函数或参数之间调用

脚本通讯假如,我们有两个脚本:Main.cs,SliderControl.cs。现在希望从SliderControl.cs调用Main.cs内的函数或参数。(一)、被调用脚本函数为static类型,调用时直接用类名.参数publicclassMain:MonoBehaviour{publicstaticintindex=0;}//在SliderControl.cs中调用indexintpara=Main.index;(二)、GameObject.Find(“脚本所挂载在的物体的名字”)找到游戏对象,再通过GetComponent().函数名()调用脚本中的函数,只能调用public类型函数pu