Хорошо! Хорошо!:  0
Плохо! Плохо!:  0
Показано с 1 по 4 из 4

Тема: Numeric

  1. #1

    По умолчанию Numeric

    Код:
    #===============================================================================
    # Numeric
    # Абстрактный класс для чисел.
    #===============================================================================
    class Numeric
      #----------------------------------------------------------------------------
      # Сравнивает число с указанными границами и, если оно выходит за пределы
      # допустимого диапазона, возвращает ближайшую границу, иначе ничего не делает
      # Возвращает  :Numeric
      # min         :Numeric - минимальное значение
      # max         :Numeric - максимальное значение
      #----------------------------------------------------------------------------
      def limit (min, max = nil)
        result = self
        if min && self < min
          result = min
        elsif max && self > max
          result = max
        end
        return result
      end
      #-----------------------------------------------------------------------------
    end
    Последний раз редактировалось Equilibrium Keeper; 16.07.2011 в 10:11.

  2. #2
    Мастер Форума Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    8,279
    Записей в дневнике
    2
    Репутация: 87 Добавить или отнять репутацию

    По умолчанию

    Пример использования можешь показать.

  3. #3

    По умолчанию

    Конечно:
    Код:
    def opacity=(value)
        @opacity = value.limit(0, 255)
    end
    Как известно, непрозрачность измеряется в целых числах от 0 до 255. В виду этого, все вводимые значения должны корректироваться до этого диапазона. Если человек укажет -111111111, limit установит это число равным 0 (в данном примере). Если 999999999 - уменьшит до верхней границы - в данном примере 255.

    Еще пример:
    Код:
    #----------------------------------------------------------------------------
      # * Возвращает размер, исходя из заданного номера
      #     number : integer - порядковый номер размера
      #----------------------------------------------------------------------------
      def self.size (number)
        return 12 + 4 * number.limi1t(-2, 15)
      end
    Здесь огрничиваются минимальные и максимальные размеры шрифта. Максимальные - границами разумного. Минимальные - так-как при значениях ниже -2, размер шрифта окажется равным 0 или отрицательным, что приведет к ошибке.

    Также должно помочь в боевках, где зачастую используются лимиты - к примеру hp = @hp.limit(0) - чтобы здоровье цели, после получения урона не оказалось меньше 0.

  4. #4
    Мастер Форума Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    8,279
    Записей в дневнике
    2
    Репутация: 87 Добавить или отнять репутацию

    По умолчанию

    Понятно. Вещь нужная.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •