1. ホーム
  2. ruby

[解決済み] Rubyで文字列の連結を行う

2022-03-23 03:23:08

質問

Rubyで文字列を連結する、よりエレガントな方法を探しています。

次のような行があります。

source = "#{ROOT_DIR}/" << project << "/App.config"

もっと素敵なやり方はないのでしょうか?

また、それに関連して <<+ ?

解決方法は?

いくつかの方法があります。

  1. で示したように << が、これは 通常の 方法
  2. 文字列補間あり

    source = "#{ROOT_DIR}/#{project}/App.config"
    
    
  3. +

    source = "#{ROOT_DIR}/" + project + "/App.config"
    
    

私が見た限りでは、2番目の方法がメモリと速度の面でより効率的なようです(測定はしていませんが)。ROOT_DIRがnilの場合、3つの方法ともuninitialized constant errorを投げます。

パス名を扱うときは File.join パス名のセパレータを混乱させないためです。

結局、好みの問題なんですよね。