Как преобразовать арабский номер Ascii Code в строку в ROR? - PullRequest
2 голосов
/ 26 мая 2010

Я хочу перевести мой пейджер с английскими номерами в арабский, У меня было что-то вроде

<% @engnum = "0123456789" %>
<% @arabnum = "٠١٢٣٤٥٦٧٨٩" %>

<%= (@pagenumber).to_s.gsub(/./) {|s| @arabnum[@engnum.index(s)]} %>

Но это показывает, что номер ascii не фактический номер, который мне нужен

Любая идея, как показать фактическую строку (число) Помните, что это арабские цифры и @arabnum[@engnum.index(s),1] не работает

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 12 мая 2012
#encoding: utf-8
pagenumber = "512"
p pagenumber.tr("0123456789","٠١٢٣٤٥٦٧٨٩") 
#=>  "٥١٢"
0 голосов
/ 26 мая 2010

Вы должны попробовать

@pagenumber.to_s.gsub(/./) {|s| @arabnum[i=@engnum.index(s),i]}

Для получения дополнительной информации об этом вы должны прочитать http://ruby -doc.org / core / classes / String.html # M000771

...