js:string builderのようなもの

<html>
<head>
	<title>
		string builderのテスト
	</title>
</head>
<body>
<script type="text/javascript">
<!--
function StringBuilder(){
	var buf = [];
	
	// EOL property getter & setter
	var _eol = '\r\n';
	this.__defineGetter__('eol', function(){
		return _eol;
	});
	this.__defineSetter__('eol', function(value){
		_eol = value;
	});
	
	// append string
	this.append = function(str){
		buf.push(str);
	};
	
	// append string + EOL
	this.appendLine = function(str){
		this.append(str);
		this.append(this.eol);
	};
	
	// append formatted string
	this.appendFormat = function(fmt){
		for(var i = 0; i < arguments.length - 1; i++){
			fmt = fmt.replace(new RegExp('\{' + i + '\\}', 'g'), arguments[i+1]);
		}
		this.append(fmt);
	};
	
	// clear string buffer
	this.clear = function(){
		buf = [];
	};
	
	// convert string buffer to string
	this.toString = function(){
		return buf.join('');
	};
};
var sb = new StringBuilder();
sb.appendLine('stringBuilder');
sb.appendFormat('の{0}です', 'テスト');
sb.append('!');
alert(sb.toString());
//-->
</script>
</body>
</html>
最終更新:2014年01月04日 00:40
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。