冗長な構造体を削除しました
今日、私のクレートonigiriを更新しました。今回は無駄に多く含んでいた構造体を削除して、一つの関数を追加しました。自身でも薄々気づいていた実用性のなさ。少しはましになったかもしれません。ひょっとすると改悪の恐れもありますが。使用例は以下のようになります。
let test_text = "(13 + 2)".to_string();
let new_vvchar = onigiri::tools::create_vvchar(&test_text);
assert_eq!(&new_vvchar, &vec![vec!['(', '1','3'],vec!['+'],vec!['2', ')']]);
let thirteen = &new_vvchar[0][1..].to_vec();
assert_eq!(onigiri::validator::is_positive_number(&thirteen), true);
let num = onigiri::tools::cast::(&thirteen);
assert_eq!(&num, &Some(13_u8));
assert_eq!(&num.unwrap() + 2, 15_u8);
上記の例では、split_whitespace()
を使うと、カッコ付きの数値ができてしまいます。かといって、char
に分解してしまうと、2桁以上の数値はバラバラになってしまいます。正規表現を使えば簡単なことではあるのですが、他になにか良い方法はないかという思いにとらわれてしまい、思いついたのが、このちっぽけなクレートです。プロのプログラマーの方々ならば、もっとよい方法を知っているかもしれません。いや当然知っているはず。むしろこのようなクレートは必要とされてない率のほうが高いかもしれません。私自身は活用しますが。自分で何かを作ると楽しいし、勉強になるので作っています。このちっぽけなクレートは、徐々に改善し、より良いものにしていこうと考えています。イラストまで作ってしまった手前、頑張らねばなるまい。
余談
最近新しい中古パソコンになりまして、快適に使っています(私のようなおっさんには中古で十分)しかし、パソコンが新しくなると、OSの冒険がしたくなる衝動にかられます。現在LinuxMint19xfceをとりあえず使用していますが、最近ManjaroLinux openboxが気になって仕方がありません。画面がかっこ良い。一度インストールして試したのですが、ますます気に入りました。ただ、ArchLinuxベースということで、今までとは少し勝手が違うので、ちょっと勉強してからにしようと思い、LinuxMintに戻しました。どなたかメインで使用中の方はいらっしゃいますか?使用感はいかがでしょうか?