Я в настоящее время делаю свой блог с Jekyll. Jekyll custom plugin использует Ruby, а Jekyll использует Liquid. В настоящее время я получаю ввод через пользовательский ярлык и обрабатываю его там. Я хотел бы проверить, содержит ли строка целые числа или нет. Поэтому у меня есть следующий код. Я понял, что вход не относится к типу String, а скорее к типу Jekyll :: Token. Поэтому я изменил входные данные на строку, но не могу определить, содержит ли строка целое число. Вот мой код:Тип Проверка не работает с Ruby и Liquid
module Jekyll
class TypecheckTag < Liquid::Tag
def is_int(word)
return word.count("0-3000") > 0
end
def initialize(tag_name, word, tokens)
super
@word = word.to_s
end
def render(context)
if /\A\d+\z/.match(@word)
@result = 'int'
else
@result = 'string'
end
end
end
end
Liquid::Template.register_tag('typecheck', Jekyll::TypecheckTag)
К сожалению, он всегда возвращает строку, даже если у нас есть строка «16», например.
Это не совсем то, что я хочу, но я решил это, получив значение через контекст. –