サブストリングの各セクション内にハイフンを挿入して、UUIDを適切に準拠したUUIDにしようとしています。
test = "CB13DBB20A9945CC86F11914C979C761"
#The first one will return '----' so essentially the $1 to $5 are returned as emptys
test.sub(/(\h{8})(\h{4})(\h{4})(\h{4})(\h{12})/, "#{$1}-#{$2}-#{$3}-#{$4}-#{$5}")
#Returns the ideal result of CB13DBB2-0A99-45CC-86F1-1914C979C761
test.sub(/(\h{8})(\h{4})(\h{4})(\h{4})(\h{12})/, "#{$1}-#{$2}-#{$3}-#{$4}-#{$5}")
ご覧のとおり、関数の最初の実行は機能しませんが、2番目の実行は機能します。どんなアイデアでも素晴らしいでしょう。追加情報として、
test.match(/(\h{8})(\h{4})(\h{4})(\h{4})(\h{12})/){|m| "#{$1}-#{$2}-#{$3}-#{$4}-#{$5}"}
代わりに初めて動作します。一重引用符と二重引用符は何にも影響しません。