7

一部のデータを解析して整理していますが、変数内にキャプチャする必要があります。

これまで printf や sprintf を使用したことがありません。

データを整理するために、次のような方法で printf を使用しています。

printf("%-30s %18s %18s\n", "$a", "$b", "$c\n");

これで、文字列を格納する変数ができたので、整理されたデータを変数 $result に追加したいと考えています。

私は何かを試しました

$result.printf("%-30s %18s %18s\n", "$a", "$b", "$c\n");

そしてそれはうまくいきません。私もsprintfを試しました。

何か案は?

ありがとう、S

4

2 に答える 2

10

printf構築された文字列を指定されたハンドル (省略された場合は現在のデフォルト) に出力し、IO エラーが発生したかどうかを示すブール値を返します。役に立ちません。sprintf構築された文字列を返すので、これが必要です。

2 つの文字列を連結する (1 つを別の文字列に追加する) には、.演算子 (またはjoin)を使用します。

$result . sprintf(...)

しかし、あなたはこれがうまくいかないと言いました。おそらく、生成された文字列を にも保存したいためです$result。これは、次を使用して行うことができます

$result = $result . sprintf(...);

または短い

$result .= sprintf(...);
于 2013-03-18T23:44:17.340 に答える
2

「sprintfも試した」という意味がわかりません。正しく実行すれば機能しない理由はないからです。あなたが示したその構文はperlのようには見えませんが、pythonまたはrubyのように見えますか?

my $foo = sprintf("%-30s %18s %18s\n", "$a", "$b", "$c\n");
$result .= $foo;
于 2013-03-18T22:27:59.290 に答える