私は別のものに1つの複数行の文字列を補間しようとしているとき、私は間違ってインデントを取得する部分文字列の最初の行のみが例えば、右インデントを持っているので:補間の複数行の文字列
substring = <<-STRING.strip_heredoc
first line
second line
STRING
string = <<-STRING.strip_heredoc
Quote
#{ substring }
from substring
STRING
結果は次のようになります:
Quote
first line
second line
from substring
所望つ
Quote
first line
second line
from substring
マイquestioであるのに対しnはthis question about perl and xml、またはthis one about erbとほとんど同じですが、もう少し一般的です。同様に補間がどのSGML(XML、HTMLまたはERB)だけでなく、を生成するために有用である可能性があるという事実を考慮するが、SQLおよび他の言語のための
...
はどのような方法、方法または一般的な方法があります正しいインデントで複数行の文字列を補間するには?
方法がない場合には、は、どのようなツールを使用すると、後処理の異なる言語のために推薦する(例えばHTML、SQL)
更新:
アナログであるのRuby 2.3の機能<<~
strip_heredoc
の文字列は、サブ文字列の最初の行にのみインデントを追加します。
はい、おかげで、私は、Ruby 2.3の特徴を認識しています。それに応じて質問が更新されました。あなたの解決策をチェックします。 –
うまくやって、主演。私は何とかそれを改善することがあります –
私はあなたの答えを編集し、あなたのソリューションはRubyで書かれていることを追加することをお勧めします。私の質問はRubyも使用していますが、他の言語の使用を考えている他の答えがあるかもしれません。 –