2017-02-09 5 views
0

새내기 질문에 대해 유감스럽게 생각합니다. 그러나 제공된 방법을 사용하지 않고 Fastlane 스크립트를 작성하는 방법에 대해서는 매우 혼란 스럽습니다.Fastlane 스크립트의 사용자 정의 변수

put message # is this how to set a variable? 
lane :alpha do 
    # This is what I'd like to do 
    message = "[Google Play] Alpha Channel Deployed" 
end 

after_all |lane, options| do 
    slack(message: message) 
end 

:

은 내가 무엇을 찾고 있어요 것은 내가 느슨하게 게시 할 때, 각 레인은 그 자체가 사용자 정의 메시지의 수는 after_all 함수에 전달 될 수 message이라는 변수를 만드는 것입니다 누구든지 올바른 방향으로 나를 가리킬 수 있습니까? Fastfile 스크립트의 명령 줄에서 오지 않는 변수를 생성하고 전달하는 방법에 대해서는 전혀 알려지지 않았습니다.

+1

4 행과 마찬가지로'= '연산자를 사용하여 변수를 설정합니다. 로컬 변수는 작성한 범위 내에 만 존재합니다. 나는 Fastlane에 대해서는 아무것도 모른다. 그러나 'lane'에 전달 된 블록이 'after_all'에 전달되기 전에 호출된다고 가정하면 첫 번째 행을'message = nil'으로 변경한다 (변수가 첫 번째 블록의 범위 밖에 존재하도록)가 효과가있을 수 있습니다. –

+1

그리고 Ruby 사용법을 모르는 경우 [이 튜토리얼] (https://www.ruby-lang.org/en/documentation/quickstart/)으로 시작하는 문서를 읽는 것이 좋습니다.). –

+0

@Jordan - 그건 잘됐다. 나는 처음부터 초기화 할 필요가 있었다고 생각한다. 지난 밤에 내가 읽었던 튜토리얼은 그 앞에서 도움이되지 않았다. 내가 게시 한 것을 살펴 보겠습니다. – EHorodyski

답변

1

4 행과 마찬가지로 = 연산자를 사용하여 변수를 설정합니다. 로컬 변수 그것이 생성 된 범위 내에서만 존재합니다. 또한

message = nil 

lane :alpha do 
    message = "[Google Play] Alpha Channel Deployed" 
end 

after_all |lane, options| do 
    slack(message: message) 
end 
2

당신은 또한 작업을 수행 할 수 있습니다 블록은 다음 message = nil에 첫 번째 줄을 변경, after_all에 전달하기 전에 lane에 전달 된 블록을 가정하는 것은 (변수가 첫 번째 블록의 범위 밖에 존재하도록) 작업을 해야지라고 다음 :

lane :alpha do 
    @message = "[Google Play] Alpha Channel Deployed" 
end 

after_all |lane, options| do 
    slack(message: @message) 
end 
+0

완벽하게 작동하지만 거기서 무슨 일이 일어나고 있습니까? 루비가 아니라고 설명 할 수 있을까요? – Dren

+0

나에게 답변, 그냥 ivar입니다 :) – Dren