作成しようとしている 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 の間のすべてのスペースを除いて、この特定のインスタンスでは正しいです。ここで私が間違っていることを知っている人はいますか?