В чем разница между include и require в Ruby?

Я тестировал, и решение Майкла лучше. Проголосуйте за его ответ выше (найдите эту страницу для «Если вы действительно хотите убедиться, что строка», чтобы найти ее). В сущности, его ответ таков:

function isNumeric(num){
  num = "" + num; //coerce num to be a string
  return !isNaN(num) && !isNaN(parseFloat(num));
}

Он работает для каждого тестового примера, который я описал здесь: https://jsfiddle.net/wggehvp9/5/

Многие из других решений терпят неудачу для этих случаев: '', null, "", true и []. Теоретически вы можете использовать их с правильной обработкой ошибок, например:

return !isNaN(num);

или

return (+num === +num);

со специальной обработкой для / \ s /, null, "" , true, false, [] (и другие?)

448
задан Community 23 May 2017 в 12:26
поделиться

2 ответа

, Каково различие между, "включают" и "требуют" в Ruby?

Ответ:

включать и требует, чтобы методы сделали совсем другие вещи.

потребовать метод делает то, что включает, делает на большинстве других языков программирования: петлять. Это также отслеживает то, чего Вы потребовали в прошлом и не потребуете того же файла дважды. Для петляния без этой добавленной функциональности можно использовать метод загрузки.

включать метод берет все методы от другого модуля и включает их в текущий модуль. Это - вещь уровня языка в противоположность вещи уровня файла, поскольку с требуют. Включать метод является основным способом "расширить" классы с помощью других модулей (обычно называемый соединением-ins). Например, если Ваш класс определяет метод "каждый", можно включать смесительный Счетный модуль, и это может действовать как набор. Это может сбивать с толку, поскольку включать глагол используется очень по-другому на других языках.

Источник

Поэтому, если Вы просто хотите использовать модуль, вместо того, чтобы расширить его или сделать соединение - в, тогда Вы захотите использовать require.

Достаточно странно, Ruby require походит на C include, в то время как Ruby include является почти ничем как C include.

532
ответ дан stkent 23 May 2017 в 12:26
поделиться
  • Ruby require больше похож, "включают" в другие языки (такие как C). Это говорит Ruby, что Вы хотите к [1 122] , вводят содержание другого файла . Подобные механизмы на других языках:

  • Ruby include объектно-ориентированный механизм наследования, используемый для mixins.

существует хорошее объяснение здесь :

простой ответ, это требует и включает, чрезвычайно не связаны.

"требуют" , подобно C, включают, который может вызвать беспорядок новичка. (Заметные различия - то, что местные жители в необходимом файле "испаряются", когда требовать сделано.)

Ruby включает , ничто как C не включает. Включать оператор "смешивается в" модуле в класс. Это ограниченная форма множественного наследования . Включенный модуль буквально дарует, "-" отношения на вещи включая его.

добавленный Акцент.

55
ответ дан Community 23 May 2017 в 12:26
поделиться
Другие вопросы по тегам:

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