1

この種のタスクがどこでも行われているのを見たことがなく.prn、RoRでデータをファイル形式でエクスポートするにはどうすればよいか疑問に思いました。

アイデアは次のようになります。

  • フィールド1->長さ:6文字->コンテンツ: "blah"
  • フィールド2->長さ:8文字->コンテンツ: "foo"
  • フィールド3->長さ:4文字->コンテンツ:"bar"

次のような行に変換します。

"blahfoobar"->合計18文字

私が使用しているERPは固定幅のデータフィールドのみを受け入れるため、これが必要です。

4

3 に答える 3

3

Array#packを見てください:

a = %w(blah foo bar)
a.pack("A6A8A4")
=> "blah  foo     bar "
于 2009-10-22T07:12:57.577 に答える
2

あなたの答えは両方とも良いですが、私はルビー関数ljust()も見つけました:

私はそれから持っています:

"blah".ljust(6)+"foo".ljust(8)+"bar".ljust(4)

それが同じことを必要とする人に役立つことを願っています...

助けてくれてありがとう

于 2009-10-22T21:14:43.680 に答える
1

私はRubyの専門家ではありませんが、少なくともsprintfがあります。

C:\ Temp> ruby​​ -le "printf'[%-6s%-8s%-4s]'、'blah'、'foo'、'bar'"
[何とかfoobar]
 |•••••|•••••••|•••
于 2009-10-22T03:22:07.663 に答える