Термин "буфер" является очень общим обозначением и не характерен для IT или CS. Это - место для хранения чего-то временно для смягчения различий между скоростью ввода и скоростью вывода. В то время как производитель быстрее, чем потребитель, производитель может продолжить хранить вывод в буфере. Когда потребитель убыстряется, это может читать из буфера. Буфер находится там в середине для устранения разрыва.
, Если Вы составляете в среднем определения в http://en.wiktionary.org/wiki/buffer , я думаю, что Вы получите идею.
Для доказательства, что мы действительно должны были "обойти 10 миль, думал, что снег каждый день пошел в школу", см. Объем Руководства Вызовов Монитора TOPS-10 1 , разделите 11.9, "Используя Буферизированный ввод-вывод", в закладке 11-24. Не читайте, если Вы подвергаетесь кошмарам.
Это соглашение о стиле кода; он указывает, что метод возвращает логическое значение.
Знак вопроса - допустимый символ в конце имени метода.
В вашем примере это просто часть имени метода. В Ruby вы также можете использовать восклицательные знаки в именах методов!
Другим примером вопросительных знаков в Ruby может быть тернарный оператор.
customerName == "Fred" ? "Hello Fred" : "Who are you?"
В Ruby существует соглашение о том, что методы, возвращающие логические значения, заканчиваются вопросительным знаком. В этом нет большего значения, чем это.
В вашем примере
product.valid?
Действительно ли вызов функции и вызывает функцию с именем действительны?
. Некоторые типы "проверки условия" / логических функций имеют знак вопроса как часть имени функции по соглашению.
Я считаю, что это просто соглашение для логических вещей. Это немного похоже на выражение « IsValid
».
Он также используется в регулярных выражениях, что означает «не более одного повторения предыдущего символа»
, например, регулярное выражение / эй? /
соответствует строкам « он
» и « эй
».