鴨川のはりねずみ

[Rust] 円周率の表記

Rust 1.53 において stable で解禁された non-ascii-idents ですが, 私にとってその最も重要な用途は円周率をギリシャ文字 π で表記することです. これは次のような形で実現されます.

#![allow(mixed_script_confusables)]
use std::f64::consts::PI as π;

円周率の π なんて見慣れているはずですが, コード中にギリシャ文字が出てくると慣れるまではすこし驚くかもしれません. おそらくフォントの問題もあるでしょう (エディタに Computer Modern や Latin Modern Math を設定している人なんてほとんどいないと思います).

冒頭の mixed_script_confusables の許可ですが, これは non-ascii-ident が意図せず紛れ込んでいる可能性を警告するもので, コード中に特定の用字を含む識別子がひとつだけ存在するかをチェックします. 従って上の場合にはギリシャ文字識別子が円周率以外にもコード中に存在すればこのアトリビュートがなくとも警告は出ないのですが, 円周率しかないこともしばしばでしょうし, 常にこのアトリビュートを設定しておけばよいと思います.

参考文献