人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

いろいろなプログラミング言語で、
文字列(文字)を繰り返す方法を教えてほしいです。

(例)
・Ruby: "hoge" * 3
・Perl: "hoge" x 3
・VB: String$(3, "a") ※文字列を繰り返す方法はなし

「ない」ことも知りたいので、簡単な方法がなければ
それを教えてもらえるだけでもうれしいです。
また、「演算子や関数はないけど、こう書けば簡単にできる」とかも
教えてもらえるともっとうれしいです。

何の言語でもいいのですが、特に知りたい言語は
C, C++, C#、Java, Python, PHP, JavaScript, Haskel, Lisp..
などです。マニアックな言語も大歓迎です。

よろしくお願いします。

●質問者: kenk
●カテゴリ:コンピュータ
✍キーワード:C# C++ hoge Java JavaScript
○ 状態 :終了
└ 回答数 : 13/13件

▽最新の回答へ

1 ● higeorange
●15ポイント

http://q.hatena.ne.jp/1195018503

JavaScript で。

Ruby などのように組込みメソッドはないけど。


String.prototype.repeat = function(n) {

return Array(n+1).join(this);

}

"Hoge".repeat(3) => HogeHogeHoge


2 ● GoldenDawn
●15ポイント

PHP

str_repeat("hoge", 3)

3 ● y-kawaz
●15ポイント

Java の commons-lang で

StringUtils.repeat("hoge", 3)

StringUtils.html#repeat


4 ● MasaMura
●15ポイント

ちょうどJAVAを勉強中なのでベタベタですが・・・・

String string ="";

for (int i = 0; i < 3; i++) {

string = string.concat("hoge");

}


5 ● しおり
●15ポイント

C/C++ には、標準では無いと思います。

(C++ には、文字列ではなく文字を繰り返すメンバ関数ならありますが。)


C++ の場合、Boost ライブラリーを使うと下記のように簡単に書けます。

#include <boost/preprocessor/repetition/repeat.hpp>
#include <iostream>

#define STR_REPEAT_MACRO(z, n, s) s
#define STR_REPEAT(s, n) BOOST_PP_REPEAT(n, STR_REPEAT_MACRO, s)

int main()
{
 std::cout << STR_REPEAT("hoge", 3) << "\n";
}

ただし、上記はリテラル限定です。


1-5件表示/13件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ