Oldukça basit bir regexp'im var, ancak temiz hale getirmek için normal adlandırılmış ifadeler kullanmak istedim ve sonuçların üzerine yinelemek istedim.Eşleştirilen eşleşmeleri MatchData içinde Hash ile eşleştirin Hata
Test dize:
testing_string = "111x222b333"
Benim regexp'in: Büyü gibi
regexp = %r{
(?<width> [0-9]{3}) {0}
(?<height> [0-9]{3}) {0}
(?<depth> [0-9]+) {0}
\g<width>x\g<height>b\g<depth>
}x
dimensions = regexp.match(testing_string)
Bu çalışma, ama heres sorun gelir: hayır
dimensions.each { |k, v| dimensions[k] = my_operation(v) }
# ERROR !
undefined method `each' for #<MatchData "111x222b333" width:"111" height:"222" depth:"333">.
yoktur. MatchData nesnesinde each
yöntemi ve ben gerçekten maymun yama istemiyorum.
Bu sorunu nasıl düzeltebilirim?
Düşündüğüm kadar açık değildim: buradaki adlar ve karma benzeri yapıları tutmaktır.
Lütfen, bir dahaki sefere daha açık olun. Aksi takdirde benim gibi cevaplar açıklamadan sonra düşürülecek :) – mmdemirbas