我想用10-20个类/文件创建一个小的ruby项目.我需要一些宝石,我想使用rspec作为测试框架.
我可能想稍后建立一个宝石,但这不确定.
是否有一些Howto或Guide向我展示了如何设置项目的基本结构?
我的问题是:
我知道我可以从头做一切,但我想要一些指导.我可以复制一些好的宝石,但我不确定我真正需要什么以及我可以删除什么.
我查看了http://gembundler.com/,但在设置捆绑器后它停止了.
我刚刚开始学习Ruby和Ruby on Rails,并遇到了使用范围的验证代码:
validates_inclusion_of :age, :in => 21..99
validates_exclusion_of :age, :in => 0...21, :message => "Sorry, you must be over 21"
Run Code Online (Sandbox Code Playgroud)
起初我以为差异的包容端点,但在API文档我进去看了看,它并似乎并不重要,是否是..或...:它总是包括端点.
但是,我在irb中进行了一些测试,它似乎表明..包括两个端点,而...只包括下限但不包括上限.它是否正确?
引用良好的RIP Hash火箭帖似乎暗示Hash Rocket语法(:foo => "bar")已被弃用foo: "bar",而不支持新的Ruby JSON风格的hash(),但我找不到任何明确的引用来说明Hash Rocket表单实际上从Ruby 1.9开始被弃用/未经过修改.
我尝试使用Range并向后迭代each:
(4..0).each do |i|
puts i
end
==> 4..0
Run Code Online (Sandbox Code Playgroud)
迭代通过0..4写入数字.在另一个范围r = 4..0似乎没问题r.first == 4,r.last == 0.
我觉得上面的结构不能产生预期的结果似乎很奇怪.这是什么原因?这种行为合理的情况是什么?
我是Ruby的新手.我想从包含我想要继续单独使用的工具的模块导入函数.在Python中我会这样做:
def a():
...
def b():
...
if __name__ == '__main__':
a()
b()
Run Code Online (Sandbox Code Playgroud)
这允许我运行程序或将其作为模块导入以使用a()和/或b()单独使用.Ruby中的等效范例是什么?
我这样初始化一个数组:
array = Array.new
array << '1' << '2' << '3'
Run Code Online (Sandbox Code Playgroud)
是否有可能一步到位?如果是这样,怎么样?
我有一个测试规范,其中describes一个类和contexts每个类都有各种各样的it块.
有没有办法context暂时禁用?
我尝试pending "temporarily disabled"在context我要禁用的最顶层添加一个调用,当我运行规范时,我确实看到了一些关于暂挂的内容,但之后它继续运行其余的测试.
这就是我的方式:
describe Something
context "some tests" do
it "should blah" do
true
end
end
context "some other tests" do
pending "temporarily disabled"
it "should do something destructive" do
blah
end
end
end
Run Code Online (Sandbox Code Playgroud)
但就像我说的那样,它继续在待处理的呼叫下运行测试.
搜索引导我进入这个邮件列表线程,其中rspec的创建者(?)表示它可能在我正在运行的rspec 2中.我猜它确实有效,但它没有取消所有以下测试的预期效果,这就是我在看到一个pending电话时的想法.
有替代方案还是我做错了?
映射语法:
a = ["a", "b", "c", "d"] #=> ["a", "b", "c", "d"]
a.map {|item|"a" == item} #=> [true, false, false, false]
a.select {|item|"a" == item} #=> ["a"]
Run Code Online (Sandbox Code Playgroud)
如果我有问题怎么样:
irb(main):105:0> details[1]
=> {:sku=>"507772-B21", :desc=>"HP 1TB 3G SATA 7.2K RPM LFF (3 .", :qty=>"",
:qty2=>"1", :price=>"5,204.34 P"}
Run Code Online (Sandbox Code Playgroud)
我想删除此数组上具有空qty值的每个条目,或者只选择其中具有某个值的条目.
我试过了:
details.map {|item|"" == item}
Run Code Online (Sandbox Code Playgroud)
只返回很多假,然后当我使用相同的只是更改地图来选择我得到:
[]
Run Code Online (Sandbox Code Playgroud) MacBook-Pro:~ skbc$ pod setup --verbose
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:212: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Setting up CocoaPods master repo
Cloning spec repo `master` from `https://github.com/CocoaPods/Specs.git` (branch `master`)
$ /usr/bin/git clone 'https://github.com/CocoaPods/Specs.git' master
Cloning into 'master'...
Run Code Online (Sandbox Code Playgroud)
已经浏览了Cocoapods网站提供的资源,SO和一些视频教程.即使在等了几个小时之后也没有发生任何事情,但是仍在试图弄清楚可能存在的问题是什么?我非常感谢您的意见和建议.谢谢!!!