草庐IT

javascript - Json(/hash) 到 ruby​​ 对象?

在Javascript中,您可以将json作为对象访问。person={name:{first:"Peter",last:"Parker"}}person.name.first在ruby​​中我必须这样使用它:person[:name][:first]是否可以像在javascript中一样将json(和哈希)作为对象访问? 最佳答案 您应该查看Hashiegem。它可以让您做您正在寻找的事情。它有一个Mash类,它采用JSON和XML解析的哈希并为您提供类似对象的访问。它实际上深入研究哈希,转换哈希内的任何数组或哈希等。http:/

ruby 哈希 : ordering a hash based on the values (which are arrays of values)

我希望根据散列中值的重新排序返回一个新的散列。这些值本身就是整数数组。例如:hsh={"c2"=>[44,2],"c1"=>[11,33],"c9"=>[23,7]}我希望能够根据值中的值0或值1返回重新排序的哈希。非常感谢这里的任何帮助-谢谢大家。 最佳答案 从问题的性质来看,我认为这是针对ruby​​1.9的。pHash[hsh.sort_by{|k,v|v[0]}]#=>{"c1"=>[11,33],"c9"=>[23,7],"c2"=>[44,2]}pHash[hsh.sort_by{|k,v|v[1]}]#=>{"c2"=

Ruby Hash 其键是对象的函数?

例如,s1=Student.new(1,"Bob","PodunkHigh")hash[1]=s1putshash[1].name#produces"Bob"s1.id=15putshash[15].name#produces"Bob"putshash[1].name#fails这不完全是Hash-like行为,并且仍然需要定义错误键的插入。虽然我当然可以推出我自己的以这种方式运行的容器,但很难让它变快,即不会在每次调用[]时搜索整个容器。只是想知道是否有更聪明的人已经做出了我可以偷的东西。编辑:下面的一些好主意帮助我集中了我的需求:避免O(n)查找时间允许多个容器到同一个对象(关联而

ruby-on-rails - 将带有 &-hash-char-semicolon 字符的 Ruby 字符串转换为 ascii 或 html 友好字符串

使用Rails3,我正在使用在drupal或其他软件中生成的XML提要。它给我的标签看起来像:所以我们的意图是,这应该看起来像:ThisisatitleAsubheading然后可以使用在View中呈现或或者其他的东西。问题在于以这种方式呈现字符串只会转换像<这样的子字符串。进入特点。我需要一种双重原始或双重未编码来首先处理chr,然后将标签呈现为html安全。任何人都知道这样的事情: 最佳答案 我认为这不是有效的XML-他们通过使用实体和cdata以两种不同的方式对文本进行了两次转义。尽管如此,您仍然可以使用nokogir

ruby 风格 : Default value from a hash

鉴于我有一个可能缺少键的opts散列,什么被认为是更好或更惯用的Ruby?这:my_val=opts.delete(:key){|k|default_value_for_key}或:my_val=opts.delete(:key)||default_value_for_key鉴于我想在提取值时从散列中删除键。 最佳答案 我想你可以使用fetch带有默认选项。my_val=opts.fetch(:key,"default_value_for_key")编辑:鉴于您想要删除key,恕我直言,block形式是可行的方法,因为它将返回blo

ruby-on-rails - hash.delete_if { |键,值| true } 不删除...为什么?

我正在研究acts_as_taggable_on插件,但有些东西我无法真正理解(即使它只是一个非常简单的代码行)。puts"before:"+cache.inspect#cache.delete_if{|key,value|key.id==owner.id&&key.class==owner.class}#originalcodelinecache.delete_if{|key,value|true}#mytestcodeputs"after:"+cache.inspect#outputbefore:{#=>["dog"]}after:{#TaggableUserid:1,name:n

ruby-on-rails - Ruby on Rails 中的 HAML 能否以 "ordered hash"方式输出 HTML 属性?

例如,如果使用haml:%html{'xmlns'=>"http://www.w3.org/1999/xhtml",'xmlns:og'=>"http://ogp.me/ns#",'xmlns:fb'=>"http://www.facebook.com/2008/fbml"}输出是:顺序不同。有没有办法按照指定的顺序制作它?(它使用Ruby1.9.2和Rails3.0.6)更新1:虽然在HTML中,属性的顺序并不重要,但在某些情况下,我只想遵循规范所说的。谁知道他们的解析器做了什么以及它是否使用一些正则表达式来做一些遵循规范的人会匹配的事情,但不遵循规范的人将不匹配,因为他们使用正则表

Ruby Hash 不工作 API - 冒号

我正在尝试使用Ruby通过JSON/REST查询api。require'rubygems'require'rest-client'require'json'###RequestBuild#####url='http://site_name'request={"format"=>'json',"foo"=>{"first"=>1.1,"second"=>2.2},"foo_1"=>300,"foo_2"=>"speed","foo_3"=>[{"id"=>"abc123","first"=>1.8,"second"=>2.8},{"id"=>"abc456","first"=>-1.5,

ruby-on-rails - Rails 辅助方法 : Nested hash to nested HTML list

我正在尝试编写一个Rails辅助方法来将嵌套哈希转换为嵌套HTML列表。例如:{:parent=>"foo",:children=>[{:parent=>"bar",:children=>[{:parent=>"baz",:children=>[]}]}]}应该变成:foobarbaz散列可以有任意数量的级别,每个级别有任意数量的父级。请问实现此目标的最佳方法是什么? 最佳答案 您可以使用递归方法来呈现以散列到一组嵌套列表。把它放在你的相关助手中:defhash_list_tag(hash)html=content_tag(:ul)

ruby - : and "" in Ruby hashes?有什么区别

我看到有些人像这样使用哈希:end_points={"dev"=>"http://example.com"}在其他地方使用这个:end_points={:dev=>"http://example.com"}这两种方法有什么区别? 最佳答案 ""声明一个String.:声明一个Symbol.如果您使用的是散列,并且不需要更改键的值或保留它用于任何事情,请使用符号。检查this寻求更详尽的解释。 关于ruby-:and""inRubyhashes?有什么区别,我们在StackOverflow