by
Anonymous Coward
on 2021年07月04日 9時44分
(#4063165)
パスポートのフォーマット規約見ると、男と女と未指定の3値が規定されていた。
Visual Inspection Zone
Sex of the holder, to be specified by use of the single initial commonly used in the language of the State where the document is issued and, if translation into English, French or Spanish is necessary, followed by an oblique and the capital letter F for female, M for male, or X for unspecified.
Machine Readable Zone
F = female; M = male; < = unspecified. ※<は比較演算子ではなく<を使えという意味。
なお、内部データとして性別(生物学的性別)を保存する用途に関してISO 5218 [wikipedia.org]というのがある。ISO 5218ではnot known (0), male (1), female (2), not applicable (9)の4通りの割り当てとなっているので、ternaryな型では不十分。素直に整数型を使おう。
booleanで指定されていたりして (スコア:0)
たいとるおんりー
Re:booleanで指定されていたりして (スコア:2, 参考になる)
パスポートのフォーマット規約見ると、男と女と未指定の3値が規定されていた。
https://www.icao.int/publications/Documents/9303_p4_cons_en.pdf [icao.int]
国際規約も改訂する気なんだろうか。
Re: (スコア:0)
TrueとFalseとnullが欲しいときがある。
ternary型?
Re:booleanで指定されていたりして (スコア:1)
Nullable型 [wikipedia.org]を使うんじゃない?
Re: (スコア:0)
ほうほう、最近?の言語(Kotlin/Swift等)には普通にあるのね・・・
Re:booleanで指定されていたりして (スコア:1)
C#が2005年のversion 2.0でサポートしてるし、
それ以前も動的型付け言語だと同じようなことはできるので、
それほど最近でもないかな。
Re: (スコア:0)
プログラミング言語・ライブラリによっては、ternary logicを実現するデータ型を(boolのnullableとは別に)用意していることもある。たとえばC++のBoostのtribool。
Re: (スコア:0)
便利やけど、覚えることがどんどん増えるな
Re: (スコア:0)
どちらがTrueかでフェミが騒ぐわけですね
Re: (スコア:0)
bool isMan;
みたいな変数名で揉めるのさ
Re:booleanで指定されていたりして (スコア:1)
ここはきちんと言葉狩りして
isHumanBeing
にすれば騒がれなくて済むとか
Re: (スコア:0)
ブーランブランならどっちがTrueか明らか
Re:booleanで指定されていたりして (スコア:1)
Re: (スコア:0)
タヌキじゃないよ、猫だよ
Re: (スコア:0)
なお、内部データとして性別(生物学的性別)を保存する用途に関してISO 5218 [wikipedia.org]というのがある。ISO 5218ではnot known (0), male (1), female (2), not applicable (9)の4通りの割り当てとなっているので、ternaryな型では不十分。素直に整数型を使おう。
Re: (スコア:0)
関係ないけど、ICAOのマークって中国語付いてるんだなあ。。。
なんでも支配する中国
Re:booleanで指定されていたりして (スコア:1)
ICAOは国連系の組織で、国連の公用語は、英語、フランス語、スペイン語、ロシア語、アラビア語、中国語だから。
私もとある国連系の組織の仕事をしていますが、翻訳とかの費用が馬鹿にならず、とくに中国語の費用が高すぎる。
中国人は大量に翻訳者・通訳者をつれてきて、その費用を請求してきて大変。
ちなみに、国連の中国語表記は「連合国」(の簡体字)で、正直に翻訳している。
Re: (スコア:0)
> 性別の追加は技術的に大きな複雑さを伴い、システムの改修には時間がかかるとみられる。
そもそもスカラ型で実装すると破綻しそうだから、多次元ベクトル表現になって、次元数や各元の定義をする段階で船頭が多過ぎ...みたいなことだろうか?
Re: (スコア:0)
Gender Processing Unitが必要とされる時代になるのだな
Re: (スコア:0)
性別を区別する処理がないのであれば、自由記入のvarchar型でいいんでは。
Re:booleanで指定されていたりして (スコア:3, 興味深い)
そもそもカラム消そうぜってならないかな
Re: (スコア:0)
うちの会社はそういう対応してる
必要ないところでは性別の情報は持たない
Re: (スコア:0)
うちも持っていないが、外人の名前で he なのか she なのか分からず困ることはまれによくある。
Re: (スコア:0)
その辺もジェンダーニュートラルにしてくんじゃねーの。
they、hirとか。
Re:booleanで指定されていたりして (スコア:2)
そこで「san」ですよ。
Re: (スコア:0)
それはMr.やMrs.の代替だw
He/Sheの代替なんだからyatsuとかじゃないと…
Re:booleanで指定されていたりして (スコア:2)
ああ、確かに。
「nanigashi」がいいか。
Re: (スコア:0)
そもそもカラム消そうぜってならないかな
性別で権利が変わらない世界にしないとパスポートからは消せないなぁ
性別詐称で命の危険もあるんだし
# 魔王を目指すのです
Re: (スコア:0)
volatile しか勝たん
volatile は文字通りの解釈を意味する [oracle.com]
これまでの例ではすべて const を使用してきましたが、これは const が概念的に簡単であるためです。しかし、volatile はどのような意味でしょうか。volatile という言葉は「揮発性の」、つまりすぐに変わってしまうという意味を持ちます。そのためコンパイラでは、コード生成時にこのようなオブジェクトにアクセスするためのショートカットは行われません。ANSI C では、オブジェクト宣言するかどうかはプログラマの責任であると規定しています。
volatile の使用例
volatile は、通常、次の 4 つのオブジェクトに使用します
Re: (スコア:0)
1ビットで持っている、ってほどタイトな設計は昨今はしないか。
性別1ビット年齢7ビットであわせて1バイト、とか。