ブロック構造の表現方法
{}
examplefn hoge(piyo) {
return 42
}
特徴
単文のときは {}
は省略可な言語が多い
Perlなどのように、単文のときも {}
を強制するものもある
以下のデメリットを回避するため
直接の理由がそれなのかは知らないけど、とりあえず回避できる
メリット
オートインデントができる
デメリット
単文を複文にするときに {}
を付け忘れる
そして、その時に構文エラーにならない
単文のときは {}
が必要ないので
exampleif(isHoge)
piyo()
// ↓
if(isHoge)
piyo()
piyo2()
括弧が増えて煩雑になる
言語例
C, C++< Java, JavaScript
インデント
examplefn hoge(piyo)
return 42
特徴
文と式の区別が明確になる
これはメリットともデメリットとも取れる
メリット
括弧が少なく、簡素である
デメリット
エディタのオートインデント機能が使えない
エディタがどこでブロックを抜けるかの判断ができない
言語例
Python, Nim,
end
examplefn hoge(piyo)
return 42
end
メリット
オートインデントがきく
デメリット
書き忘れそう
言語例
Eiffel, Ruby
begin, end
examplebegin
return 42
end
言語例
Pascal