class A
def a
puts 'in #a'
end
end
class B < A
def a
b()
end
def b
# here i want to call A#a.
end
end
Zlib :: GzipReader可以采用"IO或IO类对象".正如它的输入,如文档中所述.
Zlib::GzipReader.open('hoge.gz') {|gz|
print gz.read
}
File.open('hoge.gz') do |f|
gz = Zlib::GzipReader.new(f)
print gz.read
gz.close
end
Run Code Online (Sandbox Code Playgroud)
我应该如何解开字符串?
我想使用net/http来浏览网页,为ruby类添加cookie支持.Cookie必须存储在文件中才能在脚本结束后继续存在.当然我可以阅读规范并编写某种处理程序,使用一些cookie.txt格式等等,但它似乎意味着重新发明轮子.有没有更好的方法来完成这项任务?也许某种类型的帽子类来照顾饼干?
我正在写一个脚本,我想要一个--host带有值的开关,但是如果--host没有指定开关,我希望选项解析失败.
我似乎无法弄清楚如何做到这一点.文档似乎只指定了如何使参数值成为必需参数,而不是交换机本身.
假设我正在使用irb,并输入a = 5.如何删除定义,a以便键入a返回NameError?
一些背景:后来我想这样做:
context = Proc.new{}.binding
context.eval 'a = 5'
context.eval 'undef a' # though this doesn't work.
Run Code Online (Sandbox Code Playgroud) 我想知道如何为一个混合成几个类的模块编写单元测试但是不太知道如何去做:
我是通过在其中一个测试文件中为包含它们的类(似乎不对)编写测试来测试实例方法,还是以某种方式将所包含方法的测试保存在特定于模块的单独文件中?
同样的问题适用于类方法.
我是否应该为模块中的每个类提供单独的测试文件,例如普通的rails模型,或者它们是否存在于通用模块测试文件中(如果存在的话)?
我正在尝试构建一个rails项目,因为我正在处理的主机无法访问Internet上的git://协议(端口9418)我得到的错误就像
Fetching git://github.com/pivotal/jasmine.git
fatal: unable to connect to github.com:
github.com[0: 192.30.252.130]: errno=Connection refused
Run Code Online (Sandbox Code Playgroud)
跑步的时候bundle install.
GemFile中的相关行没有指定git://作为协议,它只是指向GitHub作为gem的源代码
gem 'jasmine', :github => 'pivotal/jasmine-gem'
Run Code Online (Sandbox Code Playgroud)
我需要做些什么来使捆绑器使用https://而不是git://从GitHub中提取宝石?
编辑:
除了编辑GemFile中的每个受影响的行之外,还有其他方法吗?如果项目的GemFile更新,我宁愿避免任何合并问题.
尝试从哈希中改变值时遇到一个奇怪的问题.我有以下设置:
myHash = {
company_name:"MyCompany",
street:"Mainstreet",
postcode:"1234",
city:"MyCity",
free_seats:"3"
}
def cleanup string
string.titleize
end
def format
output = Hash.new
myHash.each do |item|
item[:company_name] = cleanup(item[:company_name])
item[:street] = cleanup(item[:street])
output << item
end
end
Run Code Online (Sandbox Code Playgroud)
当我执行这段代码时,我得到:"TypeError:没有将Symbol隐式转换为Integer",尽管item [:company_name]的输出是预期的字符串.我究竟做错了什么?
如何在Ruby中编写这个多行,复杂的if语句?
if ( (aa != nil && self.prop1 == aa.decrypt)
|| (bb != nil && self.prop2 == bb.decrypt)
) && (self.id.nil? || self.id != id)
return true
end
Run Code Online (Sandbox Code Playgroud)
我到了Syntax error; unexpected tOROP.
在Java中,我可以写
if (
( (aa != null && aa.prop1.equals(aa.decrypt()))
|| (bb != null && bb.prop2.equals(bb.decrypt()))
)
&& (this.id != id)
) {
return true;
}
Run Code Online (Sandbox Code Playgroud) 我正在用python挑战来编写ruby中的代码,特别是这个.它在页面源中包含一个非常长的字符串,带有特殊字符.我试图找到一种方法来删除它们/检查字母字符.
我尝试使用扫描方法,但我想我可能不会正确使用它.我也尝试过delete!:
a = "PAGE SOURCE CODE PASTED HERE"
a.delete! "!", "@" #and so on with special chars, does not work(?)
a
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
谢谢
ruby ×10
arguments ×1
bundler ×1
conditional ×1
cookies ×1
github ×1
gzip ×1
if-statement ×1
module ×1
optionparser ×1
testing ×1
unit-testing ×1
zlib ×1