現在、私はJekyllとブログを作っています。 Jekyllカスタムプラグインは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"を持っていても、残念ながら、常に "string"を返します。
これは正確には私が望むものではありませんが、私はコンテキストを介して値を取得することで解決しました。 –