解答・コメントを送る方法
コメントを送るには2つの方法があります。
- 匿名でコメントを書くログインせずにコメントを書くことができます。 名前は「匿名」となります。
- アカウントを作成してコメントを書くアカウントを作成すると、記名での投稿ができます。 また、プロフィールページが作成され、 簡単なプロフィールや 統計情報が表示されるようになります。
投稿ボタンを押す前に以下の文章を確認してください
- 当サイトへの投稿は クリエイティブ・コモンズ・ライセンス BY(表示)および、その解釈に同意するものとみなされます。各ページには下のようにライセンス表示が行われます。
- あなたの投稿したコード・コメント・トピックが再利用・添削されることを望まない場合は、投稿をお控えください。
- 自分が書いていない、ウェブサイトや書籍などからの無断コピーは著作権の侵害です。著作権者の了解を得るか、自分で0から書いてください。
- 著作権の侵害、名誉毀損、など投稿内容に問題がある場合、削除することがあります。
- これらのことにあなたはあらかじめ同意したものとみなされます。
Post comment
Post a comment to the following challenge:
文字列のセンタリング
(Nested
Flatten)
As a reply to the following comment: fujidig: 文字列として取得して整形。(#4152) [show]

fujidig
#4152()
[
秀丸マクロ
]
Rating0/0=0.00
begingroupundo; if ( getconfig( "AutoAdjustOrikaeshi" ) == 2 ) { #width = windowwidth; } else { #width = getconfig( "Orikaeshi" ); } if ( !selecting ) { selectall; } else { #l1 = seltoplineno; #l2 = selendlineno; movetolineno 1, #l1; beginsel; movetolineno 1, #l2; movetolineno linelen2 + 1, #l2; endsel; } $text = gettext( seltopx, seltopy, selendx, selendy, 1 ); delete; call center $text, #width; insert $$return; endgroupundo; endmacro; center: $$result = ""; while( $$1 != "" ) { ##lineLen = strstr( $$1, "\x0d\x0a" ); ##isLastLine = ##lineLen == -1; if ( ##isLastLine ) { ##lineLen = strlen( $$1 ); } $$line = leftstr( $$1, ##lineLen ); call center_line $$line, ##2; $$result = $$result + $$return; $$1 = rightstr( $$1, strlen( $$1 ) - ##lineLen ); if ( !##isLastLine ) { $$1 = rightstr( $$1, strlen( $$1 ) - strlen( "\x0d\x0a" ) ); $$result = $$result + "\n"; } } return $$result; center_line: ##margin = ##2 - strlen( $$1 ); if ( ##margin >= 0 ) { $$result = ""; ##i = ##margin / 2; while( ##i > 0 ) { $$result = $$result + " "; ##i = ##i - 1; } $$result = $$result + $$1; } else { ##idx = -##margin / 2; call midstr2, $$1, ##idx, ##2; $$result = $$return; // ±1バイトとる範囲をずらして、その中から一番長いテキストをとる if ( strlen( $$result ) < ##2 ) { call midstr2, $$1, ##idx + 1, ##2; if ( strlen( $$return ) > strlen( $$result ) ) { $$result = $$return; } if ( strlen( $$result ) < ##2 ) { call midstr2, $$1, ##idx - 1, ##2; if ( strlen( $$return ) > strlen( $$result ) ) { $$result = $$return; } } } } return $$result; midstr2: // マルチバイトを考慮した midstr $$src = $$1; ##idx = ##2; ##len = ##3; if ( ##idx < 0 ) { ##idx = 0; } if ( ##idx > strlen( $$src ) ) { ##idx = strlen( $$src ); } if ( ##len < 0 ) { ##len = 0; } if ( ##len > strlen( $$src ) - ##idx ) { ##len = strlen( $$src ) - ##idx ; } ##end = ##idx + ##len; ##i = 0; $$dest = ""; while( ##i < ##end ) { ##char = ascii( rightstr( $$src, strlen( $$src ) - ##i ) ); ##byte = strlen( char( ##char ) ); if ( ( ##i >= ##idx ) && ( ##i + ##byte <= ##end ) ) { $$dest = $$dest + char( ##char ); } ##i = ##i + ##byte; } return $$dest;Rating0/0=0.00-0+
[ reply ]