右中括弧は、中括弧とセミコロンがすべてaaファイルの右側の単一ポイントに揃えられるコードブラケットのスタイルです。
一般的に、これはいくつかの理由で悪い習慣と考えられています。
チャレンジ
任意の方法で複数行の文字列を取得し、そのブレーススタイルを右手ブレースに変換します。
この課題では、Javaコードでのみ動作する必要がありますが、理論的にはブレースとセミコロンを使用するコードで動作するはずです。
すべての{};
文字を連続して取得する必要がありますが、それらの間に空白を入れてください。例えば。}}
、; }
}\n\t\t}
、および空白を使用してファイルの右側にそれらを並べます。
例えば:
a {
b;
{c
になるはずです
a {
b ;{
c
または、より抽象的に、すべての左から任意のすべての空白をプッシュします {};
右へ、。
それ以外の場合は、行のインデントを保持する必要があります。移動後の空白のみを含む行{};
オプションで削除できます。
例えば:
a{
b{
c;
}
}
d;
どちらかになります
a {
b {
c;}}
d ;
または
a {
b {
c;}}
d ;
右に押すと、すべての {};
文字が最も長い行よりも短くない位置に揃えられます。それ以降のスペースは許容されます。
したがって、以下はすべて受け入れられます。
a {
bc;
a {
bc ;
a {
bc ;
等...
コードの行には、{};
他の非ウィットスペース文字の間に文字が含まれている場合があります。この場合の処理は必要ありませんが、気になる場合はそのままにしておく必要があります。行には{};
文字がまったく含まれない場合もあり、これは正しく処理する必要があります。以下に示すように。
a {
b ;
c
d }
コードレビューが必要ないためが私たちが行っている恐ろしいことを見、コードをできるだけ小さくする必要があります。
例/テストケース
汎用Java
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello, World!");
}
}
になる...
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!") ;}}
画像自体
public class Permuter{
private static void permute(int n, char[] a){
if (n == 0){
System.out.println(String.valueOf(a));
}else{
for (int i=0; i<= n; i++){
permute(n-1, a);
swap(a, n % 2 == 0 ? i : 0, n);
}
}
}
private static void swap(char[] a, int i, int j){
char saved = a[i];
a[i] = a[j];
a[j] = saved;
}
}
になる...
public class Permuter {
private static void permute(int n, char[] a) {
if (n == 0) {
System.out.println(String.valueOf(a)) ;}
else {
for (int i=0; i<= n; i++) {
permute(n-1, a) ;
swap(a, n % 2 == 0 ? i : 0, n) ;}}}
private static void swap(char[] a, int i, int j) {
char saved = a[i] ;
a[i] = a[j] ;
a[j] = saved ;}}
完全に汎用的なPythonではない
対照的に
def Main():
print("Hello, World!");
Main();
になる...
def Main():
print("Hello, World!") ;
Main() ;
ノート
- 標準の抜け穴が適用されます
- 標準IOが適用されます
- これはcode-golfなので、バイト単位の最短プログラムが勝ちです!
- 私は右手ブレーススタイルのプログラミングに関連する損害について責任を負いません
- 楽しむ!
メモを編集
私はチャレンジの詳細を書き直しました。うまくいけば、ルールに対する誰の見方も壊さなかったと思います。これは、はるかに明確で自己矛盾の少ない仕様でなければなりません。
;{}
キャラクターが別々の行にある場合、キャラクターをまとめることを明確にすることができます(ルールからではなく、例から、そして実際に行が\t}
、インデント保持が最後まで移動しないことを意味する場合}
前の行の)
int a=0;System.out.println(a);