Fla*_*ape 5 ruby liquid jekyll
假设我正在递增这样的整数
{% capture page %}{{ page | plus: '1' }}{% endcapture %}
Run Code Online (Sandbox Code Playgroud)
我怎么能像这样垫?
{% capture paddedPage %}{{ page | pad '0', 4 }}{% endcapture %}
Run Code Online (Sandbox Code Playgroud)
其中4是填充位置的数量,'0'是填充字符串?最终结果如下所示:0001page的值为1.我如何在内联或过滤器中执行此操作?
我想它可以表示为sprintf('%d4',页面),但显然这种语法不适用于liquid/jekyll.
我对jekyll/liquid语法感到非常失望(甚至没有原始模数!)除此之外,我怎么能填充带有前导字符的字符串?
使用 Liquid,您可以执行以下操作:
{% assign pad = 4 %}
{% assign padStr = '0' %}
{% assign numbers = "1|12|123|1234" | split: "|" %}
{% for number in numbers %}
{% assign strLength = number | size %}
{% assign padLength = pad | minus: strLength %}
{% if padLength > 0 %}
{% assign padded = number %}
{% for position in (1..padLength) %}
{% assign padded = padded | prepend: padStr %}
{% endfor %}
<p>{{ number}} padded to {{ padded }}</p>
{% else %}
<p>{{ number}} no padding needed</p>
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
注:液体模数过滤器为{{ 12 | modulo: 5 }}
| 归档时间: |
|
| 查看次数: |
739 次 |
| 最近记录: |