🔖

[Feature #21155] C# の File scoped namespace を実装する提案

2025/02/26に公開

[Feature #21155] File scoped namespace declarations as in C#

  • Ruby で名前空間を指定してクラスを定義する場合に以下のように定義するか
module MyNamespace
  class MyClass; end
end
  • もしくは モジュール名::クラス名 で定義する必要がある
class MyNamespace::MyClass; end
class MyNamespace::MyAnotherClass; end
class MyNamespace::OneMoreClass; end
  • このようなケースで C# にある File Scoped Namespaces のような機能を実装できないかという内容のチケット
  • C# の File Scoped Namespaces では
namespace Name
{
  class X
  {
  }

  class Y
  {
  }
}
  • のような名前空間を
namespace Name;

class X
{
}

class Y
{
}
  • のように簡略的に定義することができるので Ruby でもこれを実現したいみたいな感じなんですかね?
  • うーん、インデントが減る利点はありそうだけど逆にスコープがわからなくなるとかいう弊害はないのかなあ
GitHubで編集を提案

Discussion