to_hex, to_binary, to_… или преобразование систем счисления

мая 26, 2010  |  Published in Ruby, Основы  |  2 Comments

В очередной раз поражаюсь тому, на сколько Ruby интересный и изящно спроектированный язык. Например, вы  знали, что стандартными методами преобразования типов данных to_i и to_s можно преобразовывать систему счисления. Для того, чтобы было понятней приведу примеры:

puts 2.to_s(2) #=> 10
puts 11.to_s(2) #=> 1011
puts 'aa'.to_i(16) #=> 170
puts 'fe'.to_i(16) #=> 254
a = 0xff+0xee #=> 493
b= a.to_s(16) #=> 1ed
puts b
puts b.to_i(16) #=> 493
class Fixnum
        def to_hex
                "0x" << self.to_s(16)
        end
        def to_binary
                "0b" << self.to_s(2)
        end
end

puts 16.to_hex #=> 0x10
puts (16+16).to_hex #=> 0x20
puts 3.to_binary #=> 0b11 

Вы можете сами придумать любую систему счисления (пятнядцетиричную, троичную и т.д.) и написать метод для преобразования чисел по аналогии с to_hex и to_binary.

Tags: ,

Responses

  1. Юрий says:

    июня 3, 2010 at 01:07 (#)

    Здравствуйте. Не вижу в блоге как с Вами сконтактироваться. Я хочу спросить у Вас совет по поводу изучения руби. Хотелось бы начать изучение руби с самого нуля. Подскажите с чего начать, может есть документация хорошая для изучения. короче помогите нубу ;)
    Отпишитесь у меня в блоге или же ответьте на мейл(в модерации коментов увидите) если не сложно.

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

  2. admin says:

    июня 3, 2010 at 17:43 (#)

    Юрий, для начала изучения Ruby рекомендую отличную книгу авторства Хэла Фултона — «Программирование на языке Ruby». — здесь можно ее купить, а здесь: скачать.

    можете пропустить при чтении главу про работу с графическими интерфейсами(Qt, FxRuby и т.д.), это мало кому «пригождается»

Leave a Response

Для подсветки кода используйте BB - коды: [language]...[/language], где language может быть: ruby, javascript, css, html.