2015-06-16 18 views
5

parameterize yöntemini kullandım. Onu parametrelendirmek istiyorum. parameterize'un tersini yapmak için bir yöntem var mı?Rayların dizgiler için `parametreleştirme 'tersi var mı?

+3

ile Hayır - parametrize' yöntemi orijinal dizesi hakkında bazı bilgiler kaldırır 'çünkü. –

+0

Rayların, ilk harfi büyük kılacak ve tire işaretlerini kaldıracak bir başlığı vardır. "benim-harika-pizza" .titleize => "Müthiş Pizza'm" – rdaniels

cevap

14

Hayır, yok. parameterize kayıplı bir dönüşümdür, geri dönüştürebilirsiniz.

İşte bir örnek. Eğer

my-awesome-pizza 

içine

My Awesome Pizza 

dönüştürdüğünüzde orijinal dize

My Awesome Pizza 
MY AWESOME PIZZA 

vs. Bu basit bir örnek ise hiçbir fikrim yok. Ancak, source code'dan görebileceğiniz gibi, belirli karakterler sıyrılır veya bir ayırıcıya dönüştürülür (örneğin, virgüller) ve bunları geri yükleyemezsiniz.

Sadece yaklaşık bir dönüşümü istiyorsanız, yalnızca kısa çizgileri boşluklara dönüştürün, birden çok alanı düzenleyin ve uygun bir durum dönüştürmesi uygulayın.

6

Bu konuda Simone ile değilim ama her zaman gidebilir

def deparametrize(str) 
    str.split("-").join(" ").humanize 
end 

:)

+0

'tr' 'e bakın. Eğer str = "kötü adam durdur" ise o zaman str.tr ("-", "") .humanize "geri dönecektir" kötü adamı durdur " – Shadoath