<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