Я тестировал, и решение Майкла лучше. Проголосуйте за его ответ выше (найдите эту страницу для «Если вы действительно хотите убедиться, что строка», чтобы найти ее). В сущности, его ответ таков:
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, [] (и другие?)
, Каково различие между, "включают" и "требуют" в Ruby?
Ответ:
включать и требует, чтобы методы сделали совсем другие вещи.
потребовать метод делает то, что включает, делает на большинстве других языков программирования: петлять. Это также отслеживает то, чего Вы потребовали в прошлом и не потребуете того же файла дважды. Для петляния без этой добавленной функциональности можно использовать метод загрузки.
включать метод берет все методы от другого модуля и включает их в текущий модуль. Это - вещь уровня языка в противоположность вещи уровня файла, поскольку с требуют. Включать метод является основным способом "расширить" классы с помощью других модулей (обычно называемый соединением-ins). Например, если Ваш класс определяет метод "каждый", можно включать смесительный Счетный модуль, и это может действовать как набор. Это может сбивать с толку, поскольку включать глагол используется очень по-другому на других языках.
Поэтому, если Вы просто хотите использовать модуль, вместо того, чтобы расширить его или сделать соединение - в, тогда Вы захотите использовать require
.
Достаточно странно, Ruby require
походит на C include
, в то время как Ruby include
является почти ничем как C include
.
Ruby require
больше похож, "включают" в другие языки (такие как C). Это говорит Ruby, что Вы хотите к [1 122] , вводят содержание другого файла . Подобные механизмы на других языках:
Ruby include
объектно-ориентированный механизм наследования, используемый для mixins.
существует хорошее объяснение здесь :
простой ответ, это требует и включает, чрезвычайно не связаны.
"требуют" , подобно C, включают, который может вызвать беспорядок новичка. (Заметные различия - то, что местные жители в необходимом файле "испаряются", когда требовать сделано.)
Ruby включает , ничто как C не включает. Включать оператор "смешивается в" модуле в класс. Это ограниченная форма множественного наследования . Включенный модуль буквально дарует, "-" отношения на вещи включая его.
добавленный Акцент.