2017-02-09 4 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/ja/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