jjzjj

post_array

全部标签

ruby - 为什么 Array#each 返回具有相同元素的数组?

我正在学习each如何在ruby​​中工作的细节,我尝试了以下代码行:p[1,2,3,4,5].each{|element|el}结果是一个数组[1,2,3,4,5]但我不认为我完全理解为什么。为什么each的返回值是同一个数组?每个人不只是提供一种迭代方法吗?或者只是each方法返回原始值的常见做法? 最佳答案 Array#each返回调用它的[array]对象:block的结果是discarded。因此,如果原始数组没有icky副作用,那么什么都不会改变。也许你的意思是使用map?p[1,2,3,4,5].map{|i|i*i}

arrays - Ruby 2.0.0 Array#bsearch 行为

我注意到从Ruby2.0.0开始,数组类有一个我正在测试的bsearch方法,但我没有得到我期望的行为。为什么它返回2和5的值,但返回-1、1和4的nil?arr_in=[-1,1,2,4,5]arr_in.bsearch{|x|x==3}#=>nilarr_in.bsearch{|x|x==-1}#=>nilarr_in.bsearch{|x|x==1}#=>nilarr_in.bsearch{|x|x==2}#=>2arr_in.bsearch{|x|x==4}#=>nilarr_in.bsearch{|x|x==5}#=>5 最佳答案

ruby-on-rails - 在 Rails 4 中接收 POST 数据并读取 request.body

我想向Rails应用程序发送POST请求,并让它在数据库中保存和解析请求主体...我在接收端的路线目前设置为:post'/request'=>'controller#receives_data'当我将数据发布到我使用的这个Controller时:defpost_itconnection.post(uri.path,"thisisdata",header_with_authkey)end我接收帖子的Controller方法设置为:defreceives_datalog(request.body.read)end但是我得到了一个422错误,无法处理的实体,并且日志文件总是空的...是否需要

ruby - 通过 Net::HTTP 在 Ruby 中发送 http post 请求

我正在向Web服务发送带有自定义header的请求。require'uri'require'net/http'uri=URI("https://api.site.com/api.dll")https=Net::HTTP.new(uri.host,uri.port)https.use_ssl=trueheaders={'HEADER1'=>"VALUE1",'HEADER2'=>"HEADER2"}response=https.post(uri.path,headers)putsresponse它不工作,我收到一个错误:/usr/lib/ruby/1.9.1/net/http.rb:19

ruby-on-rails - 空元素是否有等效的 Array#compact ?

众所周知,Array#compact从数组中删除了nil元素。array.reject{|元素|元素.空?}会删除像[]这样的空元素(在rails中你也可以使用#blank?来删除空元素和无元素)。有没有像Array#compact这样的删除空/空白元素的简写方法?还是使用Array#reject是我最好的选择?我还没有看到#compact的“空”等价物,如果有的话。但也许我只是忽略了它。 最佳答案 是的!array.reject&:empty?然而,作为scarver2和HoangLe解释说,这将失败并显示NoMethodErro

arrays - 获取数组的每n个元素

如何使用Ruby1.9+选择数组的每个n个元素(例如六个)?示例:a=[0,1,2,3,4,...,33]#solution#=>[[0,1,2,3,4,5],[6,7,8,9,10,11],...] 最佳答案 Enumerable#each_sliceIteratesthegivenblockforeachsliceofelements.Ifnoblockisgiven,returnsanenumerator.e.g.:(1..10).each_slice(3){|a|pa}#outputsbelow[1,2,3][4,5,6][

ruby-on-rails - 文字和构造函数之间的区别? ([] 与 Array.new 和 {} 与 Hash.new)

我很想知道[]和Array.new以及{}和Hash.new之间的更多区别我对它进行了相同的基准测试,似乎简写是赢家require'benchmark'many=500000Benchmark.bmdo|b|b.report("[]\t"){many.times{[].object_id}}b.report("Array.new\t"){many.times{Array.new.object_id}}b.report("{}\t"){many.times{{}.object_id}}b.report("Hash.new\t"){many.times{Hash.new.object_id

ruby-on-rails - 为什么 RSpec 的方法 "get"、 "post"、 "put"、 "delete"在 gem(或 Rails 外部)的 Controller 规范中不起作用?

我不是Rails或Rspec的新手,但我是制作gems的新手。当我测试我的Controller时,REST方法“get”、“post”、“put”、“delete”给我一个未定义的方法错误。您将在下面找到代码,但如果您更喜欢在馅饼中查看它,clickhere.谢谢!这是我的spec_helper:$LOAD_PATH.unshift(File.dirname(__FILE__))$LOAD_PATH.unshift(File.join(File.dirname(__FILE__),'..','lib'))require'rubygems'require'active_support'u

Ruby - Array.join 与字符串连接(效率)

我记得有一次因为在Python中连接字符串而受到责骂。有人告诉我,在Python中创建一个字符串列表并稍后加入它们会更有效。我将这种做法应用到JavaScript和Ruby中,尽管我不确定这在后者中是否有同样的好处。谁能告诉我在Ruby编程语言中加入字符串数组并调用:join或根据需要连接字符串是否更有效(在资源和执行方面)?谢谢。 最佳答案 自己用Benchmark试试类。require"benchmark"n=1000000Benchmark.bmbmdo|x|x.report("concatenation")dofoo=""n

ruby - 如何读取 Rack 请求中的POST数据

当我运行curl命令时curl-v-H"Content-type:application/json"-XPOST-d'{"name":"abc","id":"12","subject":"mysubject"}'http://localhost:9292为了将带有数据的POST请求发送到我的Rack应用程序,我的代码打印出{}。这是来自putsreq.POST()在下面的代码中。为什么它打印出{}而不是POST数据?以及如何在我的Rack应用程序中正确访问POST数据?require'json'classGreeterdefcall(env)req=Rack::Request.new(