|
setup diary |
def bracket(fml) while fml=~/^(.*)\(([^\)]*)\)([\d\.]*)(.*)$/ head=$1 inside=$2 number=$3.to_f tail=$4 inside.scan((/([A-Z][a-z]?)([\d\.]*)/)){|s| s[1]=1 if s[1]=="" head+=s[0]+(s[1].to_f*number).to_s } fml=head+tail end fml end括弧の中を、その後に続く数倍して、括弧を取り除くことができる。これを式量計算のスクリプトで処理すれば、括弧付きの化学式でも、式量を計算できることになる。