-1

私はcapistranoにかなり慣れていません。capistranoタスク内で変数をサブストリングする方法を知りたいです。

これは私にirb内で何を期待するかを与えますが

ruby-1.9.2-p136 :012 > release_path = "12345678910"
 => "12345678910"
ruby-1.9.2-p136 :019 > release_path[-6..-1]
 => "678910"

capistranoタスク内では何もしません

namespace :namespacename do
  task :taskname do

    release_path = "1234678910"
    release_path[-6..-1]

    # output is still "12345678910"
    puts release_path

  end
end

capistranoタスク内の変数でrubyクラス/メソッドを使用する方法はありますか?前もって感謝します。

4

1 に答える 1

1

それはすべてカピストラーノのルビーなので、何でも本当にうまくいきます:

namespace :namespacename do
  task :taskname do

    release_path = "1234678910"
    release_path[-6..-1]     #<----    NO!!!

    # output is "678910"
    puts release_path[-6..-1]      #<----    YEAH BOY!!!

    release_path = release_path[-6..-1]
    puts release_path       # output is "678910"

    release_path[-3..-1]   # does nothing because "910" is returned into thin air
    puts release_path[-3..-1]       # output is "910"
    puts release_path[-3..-1][-2..-1]    # output is substring of substring "10"
  end
end

部分文字列範囲構文 [x...y] を使用すると、切り捨てられずに返され、同じ変数に格納されます。

HTH

于 2012-07-02T12:31:08.427 に答える