Существует ли простой метод для проверки, заблокируется ли экземпляр IO Ruby на чтении ()?

Используйте это, это будет работать, но с IE10 + и для FF:

Ваш CSS должен выглядеть следующим образом:

select.desktopDropDown::-ms-expand {
    display: none;
}

Подробнее о ::ms-expand .

Затем для остальных:

select.desktopDropDown {
    outline : none;
    overflow : hidden;
    text-indent : 0.01px;
    text-overflow : '';
    background : url("../img/assets/arrow.png") no-repeat right #666;

    -webkit-appearance: none;
       -moz-appearance: none;
        -ms-appearance: none;
         -o-appearance: none;
            appearance: none;
}

Примечание : I жестко закодированный путь "../img/assets/arrow.png" в качестве фона.

Это должно хорошо работать в IE, Firefox и Opera.

14
задан Dhskjlkakdh 4 June 2009 в 01:03
поделиться

2 ответа

Немного поздно, но если вам требуется 'io / wait' , вы можете использовать готов? , чтобы убедиться, что ввод-вывод можно читать без блокировка. Конечно, в зависимости от того, сколько вы собираетесь читать (и как вы планируете это делать), ваш объект ввода-вывода может все еще блокироваться, но это должно помочь. Я не уверен, поддерживается ли эта библиотека на всех платформах, и я также не знаю, почему эта функция была отделена от остальной части библиотеки ввода-вывода. Подробнее см. Здесь: http://ruby-doc.org/stdlib/libdoc/io/wait/rdoc/

9
ответ дан 1 December 2019 в 14:12
поделиться

Я готов сделать вывод, что нет, простого метода для этого не существует. По предложению Питера Купера, вот IO # ready_for_read? :

class IO
  def ready_for_read?
    result = IO.select([self], nil, nil, 0)
    result && (result.first.first == self)
  end
end
6
ответ дан 1 December 2019 в 14:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: