Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- ENG = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'
- RUS = 'квертыуиопасдфгхйклзццвбнмКВЕРТЫУИОПАСДФГХЙКЛЗЦЦВБНМ'
- def russian letter
- i = ENG.index letter
- return letter unless i
- res = ''
- res << RUS[i*2]
- res << RUS[i*2 + 1]
- end
- def ssplit s
- [s[0..0], s[1..-1]]
- end
- def trans s
- r = ''
- while s.length != 0
- l, s = ssplit(s)
- case l
- when '\\'
- r << l
- l, s = ssplit(s)
- r << l
- when '%'
- if s[0..0] == '{'
- r << l
- while 0!=s.length && s[0..0] != '}'
- l, s = ssplit(s)
- r << l
- end
- else
- r << l
- end
- else
- if l =~ /[A-z]/
- r << russian(l) # sprintf("%c", s[i]+1)
- else
- r << l
- end
- end
- end
- r
- end
- print trans(STDIN.read)
Add Comment
Please, Sign In to add comment