我有一个排序数组:
[
'FATAL <error title="Request timed out.">',
'FATAL <error title="Request timed out.">',
'FATAL <error title="There is insufficient system memory to run this query.">'
]
Run Code Online (Sandbox Code Playgroud)
我想得到这样的东西,但它不一定是哈希:
[
{:error => 'FATAL <error title="Request timed out.">', :count => 2},
{:error => 'FATAL <error title="There is insufficient system memory to run this query.">', :count => 1}
]
Run Code Online (Sandbox Code Playgroud) 我有一个包含一些元素的数组.如何才能获得数组中每个元素的出现?
例:
鉴于:
a = ['cat', 'dog', 'fish', 'fish']
Run Code Online (Sandbox Code Playgroud)
结果:
a2 #=> {'cat' => 1, 'dog' => 1, 'fish' => 2}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在做一些反思,遇到意想不到的路障.
ruby(或rails)中是否有一个返回自身的对象方法
ruby-1.9.2> o = Object.new
=> #<Object:0x00000104750710>
ruby-1.9.2> o.class
=> Object
ruby-1.9.2> o.send :self
NoMethodError: undefined method `self' for #<Object:0x00000104750710>
Run Code Online (Sandbox Code Playgroud)
我想要的是
ruby-1.9.2> o.send :self
=> #<Object:0x00000104750710>
Run Code Online (Sandbox Code Playgroud)
这是内置的吗?或者我是否需要扩展Object(它总是让我紧张开放对象):
class Object
def itself
self
end
end
Run Code Online (Sandbox Code Playgroud)
然后:
ruby-1.9.2> o.send :itself
=> #<Object:0x00000104750710>
Run Code Online (Sandbox Code Playgroud)
好吧,关于我想要实现的一些背景知识.我在我的rails应用程序中有一个通用的表助手,如果是这样的话你会打电话:
render_list @person, [{field: :name, link_to: :itself},
{field: {address: :name}, link_to: :address}]
Run Code Online (Sandbox Code Playgroud)
我正在努力寻找合适的方式:itself- 但我认为我的补丁是要走的路.