변수가 class_name
입니다. class_name
은 blog
, comment
등의 문자열 값을 내부의 값을 기준으로 유지할 수 있습니다. class_name
해당 개체를 만들어야합니다.Ruby에서 변수 안에있는 내용을 사용하여 객체를 만들려면 어떻게해야합니까?
class_name
이 blog
인 경우 블로그 개체를 만들어야합니다. 스위치를 사용하지 않고 어떻게 이것을 할 수 있습니까?
변수가 class_name
입니다. class_name
은 blog
, comment
등의 문자열 값을 내부의 값을 기준으로 유지할 수 있습니다. class_name
해당 개체를 만들어야합니다.Ruby에서 변수 안에있는 내용을 사용하여 객체를 만들려면 어떻게해야합니까?
class_name
이 blog
인 경우 블로그 개체를 만들어야합니다. 스위치를 사용하지 않고 어떻게 이것을 할 수 있습니까?
당신은 thusly 히 camelize
및 constantize
방법을 사용하십시오 :
klass = class_name.camelize.constantize
thing = klass.new
당신이 class_name
에 'blog'
시작 경우 klass
는 Blog
로 끝날 것입니다.
camelize
및
constantize
klass = class_name.constantize
thing = klass.new
은 레일 별하지만 우리는 레일 - 땅에있어, 그래서 내가 "루비 온 레일"태그를 참조하십시오 당신의 캐릭터는, 실제로 'Blog'
경우.
레일에서 작동 할 것으로 예상했지만 레일 기능이있을 것이라고는 생각하지 않았습니다. 고마워, 내가 정확히 찾고 있었던거야. :) – Rahul
Kernel.const_get을 사용할 수 있지만 대소 문자가 중요합니다.
a = 'Blog'
b = Kernel.const_get(a).new
기술적으로 ['const_get'은 모듈에 있습니다.] (http://ruby-doc.org/core/classes/Module.html#M000485) 저수준 클래스는 모두 충분히 섞여 있습니다. –
이유를 설명하고 일부 코드를 표시하려는 이유를 설명해 주시겠습니까? –