seimi
序
此gemは、化学式を解剖致し、分子の量を秤り、反応式の割合の数を自ら釣合はする計算絡繰に候。名は蘭学者宇田川榕菴先生の『舎密開宗』に肖り申候。
算用は今様のRubyにて執行ひ、貴殿の目に触るる詞は江戸後期の書付に寄せ候。式の読取り、元素の数上げ、割合の数の算出は標準の道具のみにて為し、実行の折に余分のgemを求めざる仕立に候。
誂方
左の命にて入れ給ふ可く候。
gem install seimi手許の写しより試し候折は、左の命を用ひ給ふ可く候。
bundle exec rake test
gem build seimi.gemspec
gem install ./seimi-0.1.0.gem用方
書物の内にて用ひ候折は、先づ読込み給ふ可く候。
require "seimi"
Seimi.molar_mass("H2O")
#=> 18.015
formula = Seimi::Formula.parse("Ca(OH)2")
formula.composition
#=> {"Ca"=>1, "O"=>2, "H"=>2}
formula.molar_mass
#=> 74.092
equation = Seimi::Equation.balance("Fe + O2 -> Fe2O3")
equation.coefficients
#=> [4, 3, 2]
equation.to_s
#=> "4Fe + 3O2 -> 2Fe2O3"
ion = Seimi::Formula.parse("SO4^2-")
ion.charge
#=> -2
hydrate = Seimi::Formula.parse("CuSO4·5H2O")
hydrate.composition
#=> {"Cu"=>1, "S"=>1, "O"=>9, "H"=>10}
isotope = Seimi::Formula.parse("[13C]H4")
isotope.molar_mass
#=> 17.0353548351命令の口より用ひ候折は、左の如く書付け給ふ可く候。
seimi kaibou "Ca(OH)2"
seimi tsuriai "Fe + O2 -> Fe2O3"
seimi tsuriai "Ag+ + Cl- -> AgCl"
seimi tsuriai "Ag++Cl-->AgCl"解剖の返書には、元素の内訳、分子の量、算木の図を掲げ候。
〔Ca(OH)2 解剖の覚〕
一、かるしうむ(Ca) 四十・〇七八 匁掛ける一つ
一、酸素(O) 三十一・九九八 匁掛ける二つ
一、水素(H) 二・〇一六 匁掛ける二つ
〆て 分子の量 凡そ七十四・〇九二 に候
右の如く相違なく候 也
釣合の返書には、元素釣合の盤と釣合ひたる式を掲げ候。
四Fe 三O2 を合せ、二Fe2O3 と成り申し候(洋数字にて 4Fe + 3O2 -> 2Fe2O3) 也
いおん式は NH4+、Fe3+、SO4^2-、SO4²⁻ の形を受け候。反応式にていおんを用ひ候折は、Ag+ + Cl- の如く空白を置き候ても、Ag++Cl- の如く電荷の符と区切の符を続け候ても読取り候。
水和物は CuSO4·5H2O 又は CuSO4.5H2O の形を受け、点の後の数を水和の倍数として数へ候。同位体は [13C]H4 又は ^13CH4 の形を受け、分子の量には同梱の同位体質量表を用ひ、反応式の釣合にては同位体を別の印として扱ひ候。重水素 D と三重水素 T も水素同位体として読み候。
咎の品々
式の字に紛れ有る折は Seimi::ParseError を返し申候。元素表に無き記号は Seimi::UnknownElementError を返し申候。釣合の術無き反応式は Seimi::UnbalancedError を返し申候。
命令の絡繰は咎を捕へ、左の形にて知らせ申候。
咎: 見知らぬ元素に候: 「Xx」。当絡繰の知る元素は百十八種に候
名の由来
舎密は江戸後期に化学を指したる言葉に候。宇田川榕菴先生の『舎密開宗』は、西洋の化学を日本の学びへ移し入れたる書に候。酸素、水素、窒素、炭素等の訳語も、此学びの流れにて広まり候。此gemは其名を借り、今の計算を古き詞に包み候。
添状
此品はMITの札にて分け候。直し、試し、添書は何れも歓迎仕り候。然れども公開の前には、bundle exec rake test と gem build seimi.gemspec を通し給ふ可く候。