見出し画像

法律の条文と配列の共通点

配列と添え字

たいていのプログラミング言語には配列というものがあります。

//C
int  hogeArray[10];
char piyoStr[3][10];

//java
int    hogeNum[] = new int[10];
String hogeNames[] = { "foo", "bar" };

配列の各要素にアクセスするときに指定するものが添え字です。

法律にも添え字に似た概念があります。それは""です。

条文構造 - 条と項

以前の記事で書いた条文に再登場してもらいます

第167条 (債権等の消滅時効)
1. 債権は、十年間行使しないときは、消滅する。
2. 債権又は所有権以外の財産権は、二十年間行使しないときは、消滅する。

ここでいう167条以下の1, 2, が項です。
今まではこのような引用をしてましたが、正確にはこのように記載するようです。

(債権等の消滅時効)
第167条
債権は、十年間行使しないときは、消滅する。
2. 債権又は所有権以外の財産権は、二十年間行使しないときは、消滅する。

第一項の1を省略するみたいです。明示的に1なんて本当は記載しないけれど
暗黙的に第1項と読むようです。

添え字は見えない1から始まる

つまり法律の条文は1は書かないけど2からは添え字を指定する
変わり種の配列のようなものなのです。
添え字が1始まりのFortranのようなのに1そのものは省略する。
感覚的に0始まりっぽいなあと思ったのに次の添え字は2から始まる。
のようです。

でも号からは添え字は一から書きます

なのに項の次の階層である号は省略せずに漢数字で一を指定して書いていきます。

第337条
会計監査人は、公認会計士又は監査法人でなければならない。
2.会計監査人に選任された監査法人は、その社員の中から会計監査人の職務を行うべき者を選定し、これを株式会社に通知しなければならない。この場合においては、次項第二号に掲げる者を選定することはできない。
3.次に掲げる者は、会計監査人となることができない。
公認会計士法 の規定により、第435条第2項に規定する計算書類について監査をすることができない者
株式会社の子会社若しくはその取締役、会計参与、監査役若しくは執行役から公認会計士若しくは監査法人の業務以外の業務により継続的な報酬を受けている者又はその配偶者
監査法人でその社員の半数以上が前号に掲げる者であるもの

結構長く感じますけど条文ってこれ以上の長いのもあったりするんですよね…
サンプルコードはこんなかんじでしょうか。

String Company337[][] = new String[3][];
Company337[0] = new String[] {"会計監査人は、公認会計士~(略)"};
Company337[1] = new String[] {"会計監査人に選任された監査法人は、~(略)"};
Company337[2] = new String[] { "公認会計士法 の規定により、~(略)",
				"株式会社の子会社若しくはその取締役、~(略)",
				"監査法人で~(略)"};

書きながら気づいたのが第三項の"次に掲げる者は、会計監査人となることができない。"って文字列("柱書"という)書けないですね…

柱書を添え字の0相当の部分に挿入すれば各号が1始まりになって
条文的にいいかもしれません。その場合各号がない条文の0には空文字いれることになるので無駄な領域になってしまうのはあまりよろしくないけれど

終わりに

六法によっては第1項と明示的に表記しているものもあるのですが、その手のものでも第2項以下がないものは添え字の1が省略されてたりします。
慣れればなんてことはないのですが、条文をデータ構造としてとらえると
どうしても気になっちゃうなあ。と感じたのでした。

ではまた次の記事でお会いしましょう!


この記事が気に入ったらサポートをしてみませんか?