을에서 해시의 서브 클래스를 채우는 방법 해시, 이것을 달성하는 가장 깨끗한 방법은 무엇입니까?루비 :지지 않습니다 <code>Hash.new</code> 이후</p> <pre><code>class HashSub < Hash def initialize(old_hash) ... end end a = HashSub.new({'akey' => 'avalue'}) puts a['akey'] >> avalue </code></pre> <p>: 해시
0
내가 즉, 내가 해시를 사용하여 처음 채울 수 있도록하려면 해시의 서브 클래스를, 만들고있어
A
답변
5
는 깨끗한, 내 경험, 혼자 초기화를 떠나 및 클래스 '[]
운영자 :
>> class SubHash < Hash; end
=> nil
>> a = Hash[{:a => :b}]
=> {:a=>:b}
>> a.class
=> Hash
>> b = SubHash[{:a => :b}]
=> {:a=>:b}
>> b.class
=> SubHash
0
H = Class.new Hash
a = {a: 2, b: 3}
b = H[ a ]
b.class #=> H
1
데니스에 개선하기 위해'의존하는 것입니다 대답, 당신은 클래스 메소드의 별명을 할 수 []
new
.
class SubHash < Hash; end
singleton_class{alias :new :[]}
end
SubHash.new(a: :b).class # => SubHash
관련 문제
- 1. 루비 :</p> <pre><code>class Something def initialize @test = "test" end end </code></pre> <p>왜 루비 반환 전무는 선언되지 않은 인스턴스 변수를 호출 않습니다 왜
- 2. StandartError를 사용하는 방법? 나는 다음과 같은 오류 얻을</p> <pre><code>#!/usr/bin/env ruby class WrongNumberOfPlayersError < StandartError ; end class NoSuchStrategyError < StandartError ; end </code></pre> <p>:
- 3. 루비 클래스 메소드는 <pre><code>class UsersController < ApplicationController def dashboard @totalclose = Post.find_latest_closed @totalopen = Post.find_latest_open end end </code></pre> <p>PostController</p>에서
- 4. 레일 모델 관계가 많고 많은 것이 있습니까? <code>User</code>가 <code>Group</code>를 작성 (함으로써 자신의) 수</p> <pre><code>class User < ActiveRecord::Base end class Item < ActiveRecord::Base end class Group < ActiveRecord::Base end </code></pre> <p>:
- 5. 루비 객체에 블록이나 프로 시저에 전달하는 메소드가 있습니까? 만일이 같은 방법이 존재</p> <pre><code>class Object def yield_self yield(self) end end </code></pre> <p>않습니다
- 6. 내가</p> <pre><code>class Article < ActiveRecord::Base has_one :template end </code></pre> <p>및</p> 템플릿 모델은 공간 속성을 가지고있다 <pre><code>class Template < ActiveRecord::Base has_many :articles end </code></pre> <p>이 one-to-many 연관
- 7. 레일, 나는이 개 모델</p> <pre><code>class Article < ActiveRecord::Base has_many :images end </code></pre> <p>및</p> <pre><code>class Image < ActiveRecord::Base belongs_to :article end </code></pre> <p>이
- 8. 어디에서 Ruby 클래스 메서드를 호출해야합니까?</p> <pre><code>class ClassOfSomeSort def self.methodOfSomeSort(argument) ... end methodOfSomeSort(5) end </code></pre> <p>내가 자체가 나쁜 관행 클래스의 메소드를 호출 들었
- 9. 메서드가 재정의되었음을 감지 할 수 있습니까?</p> <pre><code>class Foo def hi end end class Bar < Foo def hi end end </code></pre> <p>그리고 내가 매개 변수로 <code>Bar</code>을 통과하고있어 일부 코드가 있다고 가정 : 여기에 가정
- 10. 어떻게 단어 <ul><li><div><a></a></div></li></ul>
- 11. 루비 <NoMethodError>
- 12. Ruby에서 한 줄에 메서드를 정의하는 더 좋은 방법 (더 나은 스타일)은 무엇입니까?</p> <pre><code>def method; some code end </code></pre> <p>또는</p> <pre><code>def method() some code end </code></pre> <p>이유 :
- 13. 루비 :</p> <pre><code>class A attr_accessor :somevar def a somevar = 'something' puts @somevar end def b send :somevar=, 'something' puts @somevar end end A.new.a #=> nil A.new.b #=> 'something' </code></pre> <p>왜 차이가 : 내부 방법
- 14. <a title="<a>">
- 15. 는 데 내가 간단한 방법 정의</p> <pre><code>class Printer def print p '1' end end </code></pre> <p>그리고 지금은 별도의 스크립트 소개와 간단한 클래스를
- 16. 추가] 내용 <li><a></a></li>
- 17. Objective-C에서 사용자 지정 지시문을 만들 수 있습니까?</p> <ul> <li>@interface</li> <li>@implementation</li> <li>@end</li> <li>@protocol 내가 생각</li> <li>@property</li> <li>@synthesize</li> </ul> <p>:
- 18. 레일 - 어떻게 lib 디렉토리에서 메서드를 호출? 컨트롤러의</p> <pre><code>class MyClassName def doSomething ... end ... end </code></pre> <p>:
- 19. 바보 같은 질문에 대한 <li><a></a></li>
- 20. 셀레늄 : "<div><a></a></div>"버튼을 클릭하십시오.
- 21. <hash></hash> from format.xml
- 22. :</p> <p><strong>spec_helper (내가 바로 <code>end</code> 전에 파일의 맨 아래에 넣어) :</strong> OmniAuth
- 23. Vim에 <Ctrl> + <Shift> + <End>의 등가는 무엇입니까?
- 24. 내가 <br /><br /></p> <pre><code>module Decisioning module Decision class OfferProxy < FinanceApplication::Offer def my_method "some value" end end end end </code></pre> <p>그래서 다른 .rb 파일에서이 모듈의 방법에 접근 가겠어요 방법을 알고 싶습니다
- 25. 레일/자바 스크립트 : 나는 다음과 같은 한 관점에서</p> <pre><code>@min_rating = 4 </code></pre> <p>: 다음</p> <pre><code><%= javascript_tag do %> min_rating = <%= @min_rating %> <% end %> </code></pre> <p>통과 인스턴스 변수는
- 26. C++는 다음과 같습니다</p> <pre><code>ifstream filein("hey.txt"); if(filein.eof()){ cout<<"END"<<endl; } </code></pre> <p>"hey.txt"비어 : .eof 빈 파일에
- 27. # <# <클래스 : 0xa8930c8> : 0xa578cf8>
- 28. 루비 : 방법의 액세스 반환 값은 내부 나는</p> <pre><code>def initialize @lang = Hash.new return entries end </code></pre> <p>내부</p> <pre><code>def entries return lang # lang is a hash end </code></pre> <p>의 반환 값에 액세스하려고하지만 빈 해시를 반환
- 29. 루비 -</p> <pre><code>def total_amount self.quantity.to_i * self.event.price.to_i end </code></pre> <p>을 나는 레일에 루비를 사용하여 이벤트 응용 프로그램과의 목표를 짓고 있어요 -
- 30. <"index">을 기대하지만 <[]>