草庐IT

c++ - 验证变量参数是预期类型

全部标签

ruby - 为什么 ruby​​ 中的变量前缀允许在方法调用中省略括号?

在DavidFlanagan的TheRubyProgrammingLanguage中;松本幸弘theystatethatthevariableprefixes($,@,@@)areonepricewepayforbeingabletoomitparenthesesaroundmethodinvocations.谁可以给我解释一下这个? 最佳答案 这是我不成熟的意见。如果我错了,请纠正我。假设实例变量没有@前缀,那么我们如何声明一个实例变量?classMyClassdefinitialize#Herefooisaninstanceva

ruby-on-rails - Ruby bundler 身份验证错误

我从bundle程序中收到一个我以前从未见过的奇怪错误。在bundleinstall上,我得到:请在设置用户名和密码进行身份验证之前对它们进行CGI转义这只发生在一个repo上,我怀疑它与来自github的gem源有关,该gem文件中有几个gem。值得注意的是,这些获取是从git://github.com/中提取的,而不是SSH。不确定这是否是导致问题的原因。在Bundlers文档中找不到任何关于此的信息,因此非常感谢任何见解或方向。编辑(添加Gemfile):ruby'2.2.2'#BundleedgeRailsinstead:gem'rails',github:'rails/rai

ruby - 接收 block 作为参数的模拟方法

我有一个或多或少这样的场景classAdefinitialize(&block)b=B.new(&block)endend我正在对A类进行单元测试,我想知道B#new是否正在接收传递给A#new的block。我使用Mocha作为模拟框架。这可能吗? 最佳答案 我用Mocha和RSpec都试过了,虽然我可以通过测试,但行为不正确。从我的实验中,我得出结论,验证block是否已通过是不可能的。问题:为什么要传递一个block作为参数?block将用于什么目的?什么时候调用?也许这确实是您应该用类似的东西测试的行为:classBlockP

objective-c - 将 Cocoa header 链接到 ruby​​ C 扩展

我正在为ruby​​开发一个C扩展,但我需要包含来自IOBluetooth框架的header,特别是:#import#import一切都编译正常,但在运行时,扩展错误:path/to/file.rb:1:in`require_relative':dlopen(/path/to/extension.bundle,9):Symbolnotfound:_OBJC_CLASS_$_IOBluetoothDeviceInquiry(LoadError)我相当确定这与未包含在链接过程中的框架有关,但我不确定原因。任何帮助将不胜感激extconf.rb:#Loadsmkmfwhichisusedto

ruby - Sinatra REST API 应用程序的身份验证

我正在使用Sinatra构建一个API(在客户端使用Angular并希望其他人能够访问API)并且它也是一个OAuth提供者。我想知道采取什么最佳途径(利用现有的gem或从Warden推出自己的解决方案等)。在使用Rails之前使用过devise和doorkeeper进行身份验证和oauth,想知道Sinatra的最佳解决方案是什么。理想情况下,我不想要View或能够扩展/修改现有解决方案的操作,因为我纯粹将其作为API与之交互。 最佳答案 我最近使用S/O的以下答案做了同样的事情Whatisaverysimpleauthentic

ruby - 有没有办法在 Ruby 中执行编译时类型检查?

我知道Ruby是动态和强类型的,但据我所知,由于每个参数缺少显式类型表示法(或契约),当前语法不允许在编译时检查参数类型。如果我想执行编译时类型检查,我有哪些(实际成熟的)选项?更新我的意思是类型检查类似于典型的静态类型语言。比如C。例如,C函数表示每个参数的类型,编译器检查传入的参数是否正确。voidfunc1(structAAAaaa){structBBBbbb;func1(bbb);//Wrongtype.Compiletimeerror.}作为另一个例子,Objective-C通过放置显式类型信息来做到这一点。-(id)method1:(AAA*)aaa{BBB*bbb=[[A

ruby-on-rails - RVMSUDO 不使用环境变量

我生成了一组我在.bash_profile中设置的环境变量这在使用RVMSUDO时不起作用然后我尝试了rvmexport,在查看rvmsudoenv时,他们获得了rvm_old_$nameofvariable而不是$nameofvariable我也试过添加导出名称=值到项目中的.rvmc,这似乎没有得到反射(reflect)。有什么建议吗? 最佳答案 根据:https://github.com/wayneeseguin/rvm/blob/master/bin/rvmsudo#L83你应该在你的环境变量前加上“http_”或“PATH

ruby-on-rails - Rails 验证虚拟属性

我这个模型:classBunny每当我提交一个表单来创建这个模型时,我都会收到以下错误:#的未定义方法“number_before_type_cast” 最佳答案 我通过将此方法添加到我的Bunny模型中解决了这个问题:defnumber_before_type_castnumberend我不喜欢它,但我想在有人发布更好的解决方案之前它会起作用。 关于ruby-on-rails-Rails验证虚拟属性,我们在StackOverflow上找到一个类似的问题: h

ruby-on-rails - 类型错误 : wrong argument type String (expected Module)

我有以下代码:classProfileLookup基本上包含大量查找数据,按类别拆分。目的是为数据库中的每个类别创建一个方法。通过Rails控制台,此代码按预期工作:ruby-1.9.3@hub:002>ProfileLookup.available_gendersProfileLookupLoad(0.6ms)SELECT"profile_lookups".*FROM"profile_lookups"WHERE"profile_lookups"."category"='gender'ORDERBYvalue=>["Female","Male"]但是,我的规范不合格。以下规范:requ

ruby - 具有基本身份验证和 gzip 的 em-http 流挂起

我正在尝试使用GnipPowerTrackAPI,这需要我使用基本身份验证连接到JSON的HTTPS流。我觉得这应该是相当微不足道的,所以我希望一些比我聪明的ruby​​ist可以指出我明显的错误。这是我的ruby​​1.9.3代码的相关部分:require'eventmachine'require'em-http'require'json'usage="#{$0}"abortusageunlessuser=ARGV.shiftabortusageunlesspassword=ARGV.shiftGNIP_STREAMING_URL='https://stream.gnip.com:4