作成しようとしているRubyのヒアドキュメントに問題があります。すべての先頭の空白文字を抑制することになっている-演算子を含めても、各行から先頭の空白が返されます。私の方法は次のようになります:
def distinct_count
<<-EOF
\tSELECT
\t CAST('#{name}' AS VARCHAR(30)) as COLUMN_NAME
\t,COUNT(DISTINCT #{name}) AS DISTINCT_COUNT
\tFROM #{table.call}
EOF
end
そして私の出力は次のようになります:
=> " \tSELECT\n \t CAST('SRC_ACCT_NUM' AS VARCHAR(30)) as
COLUMN_NAME\n \t,COUNT(DISTINCT SRC_ACCT_NUM) AS DISTINCT_COUNT\n
\tFROM UD461.MGMT_REPORT_HNB\n"
これはもちろん、最初の "と\ tの間のすべてのスペースを除いて、この特定のインスタンスで正しいです。誰かが私がここで間違っていることを知っていますか?