일부 컨텍스트의 경우 많은 코드가 텍스트 전체에 동일한 텍스트 줄을 사용합니다 (iOS 자동화를 수행하기 위해 Calabash를 사용하고 있습니다).루비에서 변수를 포함하는 상수 문자열을 정의하는 가장 깨끗한 방법은 무엇입니까?
예 : "표시된 모든 레이블 : '# {name}'"이 (가) 특정 클래스에서 8 번 사용되었습니다.
나는 그 텍스트를 사용하는 상수를 가질 수 있지만, 클래스의 맨 위에 던져 넣는다면 물론 "name"변수가 아직 설정되지 않은 것을 선호합니다. 매개 변수를 사용하고 문자열을 반환하는 방법을 정의하지 않고, 클래스의 상단에 존재하지만 할 수없는 본질적으로 같은 것을 할 수있는 방법이 사용될 때까지?
class ClassName
extend Calabash::Cucumber::Operations
@NAME_CONSTANT = "all label marked:'#{name}'"
def self.method_name(name)
query("#{@NAME_CONSTANT} sibling label marked:'anotherLabel' isHidden:0")
end
end
경우에는 평가가 내가 언급 한 구문을 사용하면이 오류가 발생합니다. ClassName에 대한 정의되지 않은 로컬 변수 또는 메서드`name '
루비를 사용하는 버전은 무엇입니까? –
[Module # name] (http://www.ruby-doc.org/core-2.0.0/Module.html#method-i-name)이 존재한다는 것을 기억하십시오 ... 그래서 매개 변수 이름을'name'으로 사용하십시오. 당신의 메소드'method_name'. –
전체 코드를 표시 할 수 있습니까? @ NAME_CONSTANT의 범위를보고 싶습니다. –