草庐IT

参数调用

全部标签

ruby - 如何使用反射获取参数名称

我想在Ruby中做一些相当繁重的反射。我想创建一个函数,该函数返回调用堆栈更高层的各种调用函数的参数名称(只要高一点就足够了,但为什么要停在那里?)。我可以使用Kernel.caller,转到文件并解析参数列表,但这会很丑陋且不可靠。我想要的功能将按以下方式工作:moduleAdefmethod1(tuti,fruity)fooenddefmethod2(bim,bam,boom)fooenddeffooprintcaller_args[1].join(",")#the"1"meanonestepupthecallstackendendA.method1#prints"tuti,fru

ruby-on-rails - 在 env.rb 之外需要 Cucumber-rails。其余的加载被推迟到 env.rb 被调用

请问这个env.rb错误是什么意思?root#rakedb:migrateWARNING:Cucumber-railsrequiredoutsideofenv.rb.Therestofloadingisbeingdefereduntilenv.rbiscalled.Toavoidthiswarning,move'gemcucumber-rails'underonlygroup:testinyourGemfilegemfile在这里:source'http://rubygems.org'gem'rails','3.1.0'#BundleedgeRailsinstead:#gem'rail

Ruby:lambda 函数参数可以有默认值吗?

我想做类似的事情:defcreator()returnlambda{|arg1,arg2=nil|putsarg1if(arg2!=nil)putsarg2end}endtest=creator()test('lol')test('lol','rofl')我遇到了一些语法错误:test.rb:2:syntaxerrorreturnlambda{|arg1,arg2=nil|^test.rb:3:syntaxerrortest.rb:7:syntaxerrortest.rb:14:syntaxerror这在ruby​​中可行吗?我想为lambda函数设置一个参数的默认值

ruby - 为什么 Ruby 的默认参数值没有分配给 nil 参数?

我是Ruby的新手,遇到了一些让我有点困惑的事情。我在方法签名中设置了默认参数值。调用该方法时,我向该参数传递了一个nil参数。但是没有分配默认值;它仍然是nil。#methodwithadefaultvalueof1000forparameter'b'defformat_args(a,b=1000)"\t#{a.ljust(30,'.')}#{b}"end#testhashdudes={};dudes["larry"]=60dudes["moe"]=nil#expectingdefaultparametervalueputs"Withoutnilcheck:"dudes.eachdo

ruby - Notepad++ 只是调用 "ANSI"的编码,有谁知道在 Ruby 中如何调用它?

我有一堆.txt,Notepad++说(在其下拉“编码”菜单中)是“ANSI”。它们中有德语字符[äöüß],在Notepad++中显示良好。但是当我File.read'thisisaGermantextexample.txt'它们时,它们并没有正确显示在irb中。那么有人知道我应该给Encoding.default_external=什么参数吗?(我假设这就是解决方案,对吧?)当'utf-8'或'cp850'时,它读取带有“äöüß”的“ANSI”文件为“\xE4\xF6\xFC\xDF”...(请不要犹豫,在你的回答中提及明显“显而易见”的事情;我和你一样新手,但仍然知道足以问这个

ruby-on-rails - FactoryGirl中如何通过关联链传递参数

默认情况下,FactoryGirl会调用关联的工厂来创建它们。我可以将工厂的关联作为参数传递。但是我怎样才能传递一个应该在关联链深处使用的对象呢?例如:我有一个Post,它有一个PostsManager,它有一个属于current_user的帐户。当我执行Factory(:post)时,它会创建一个PostsManager,它会创建一个不属于(stub的)current_user的帐户。因此,在使用Post工厂的规范中,我必须这样做:account=Factory(:account,user:current_user)post_manager=Factory(:post_manager

ruby-on-rails - 参数缺失或值为空 : user rails 4

当我尝试提交注册表时出现以下错误。参数缺失或值为空:用户defuser_paramsparams.require(:user).permit(:name,:email,:password,:password_confirmation)end请求如下:{"utf8"=>"✓","authenticity_token"=>"YX0+4AeWlGWJiQZgbhV9cxi6TUCoibZfwh95BrK9iCQ=","name"=>"asasa","email"=>"asasas@asas.com","password"=>"[FILTERED]","confirm_password"=>"

ruby - 我应该如何为 Ruby 关键字参数提供 YARD/RDoc 文档?

对于基本的Ruby方法,我会为以下格式的参数提供YARD样式文档。#@paramquery[String]Thesearchstringtoquery.#@paramoptions[Hash]Optionalsearchpreferences.defsearch(query,options={})#...end在Ruby2.0中,现在可以使用关键字参数。但是,我不确定如何根据YARD文档处理该问题。defsearch(query,exact_match:false,results_per_page:10)#...end在第二种情况下,我将如何记录exact_match和results_

ruby-on-rails - 是否有基于一组参数生成 URL 的 Ruby 库/gem?

Rails的URL生成机制(其中大部分在某些时候通过polymorphic_url路由)允许传递一个哈希,该哈希至少在GET请求中被序列化为查询字符串。获得这种功能的最佳方式是什么,但在任何基本路径之上?例如,我想要如下内容:generate_url('http://www.google.com/',:q=>'helloworld')#=>'http://www.google.com/?q=hello+world'我当然可以自己编写完全符合我的应用程序要求的程序,但如果存在一些规范库来处理它,我宁愿使用它:)。 最佳答案 是的,在R

ruby - 你能在 Ruby 调用者的上下文中评估代码吗?

本质上我想知道是否thefollowing可以在Ruby中完成。例如:defbar(symbol)#magiccodegoeshere,itoutputs"a=100"enddeffooa=100bar(:a)end 最佳答案 您必须将foo的上下文传递给bar:deffooa=100bar(:a,binding)enddefbar(sym,b)puts"#{sym}is#{eval(sym.to_s,b)}"end 关于ruby-你能在Ruby调用者的上下文中评估代码吗?,我们在Sta