{% for item in string %}
не похож на javascript. это какая-то рубиновая штука или что-то? Он ищет переменную string
, определенную на любом языке, не являющемся javascript, из которого поступает этот тег, и его неопределенную или неинициализированную, поскольку он не имеет доступа к переменным javscript.
Если вы сделаете его массивом JS (вместо объявления массива внутри строки, как оно есть в настоящее время), вы можете просто назначить массив js напрямую, даже без зацикливания, т.е.
var string = ['text1', 'text2', 'text3', 'text4']; //no double quotes on the outside
var barData = {
labels : string,
//...
[ 116] Причина, по которой ваш цикл data
работает, заключается в том, что переменная, литерал массива, определена внутри тега, поэтому она имеет к ней доступ.
Вывод канала к:
cut -b 1-LIMIT
Где ПРЕДЕЛ является желаемой шириной строки.
Не точно отвечая на вопрос, но если Вы хотите придерживаться Perl и использовать остроту, возможность:
$ perl -pe's/(?<=.{25}).*//' filename
где 25 желаемая длина строки.
Другая тактика, которую я использую для просмотра файлов журнала с очень длинными строками, должна передать файл по каналу к "меньшему количеству-S".-S опция для меньшего распечатает строки без обертывания, и можно просмотреть скрытую часть длинных линий путем нажатия клавиши со стрелкой вправо.
Обычный способ сделать это было бы
perl -wlne'print substr($_,0,80)'
Игравший в гольф (для 5,10):
perl -nE'say/(.{0,80})/'
(Не думайте о нем как о программировании, думайте о нем как об использовании инструмента командной строки с огромным числом вариантов.) (Да, ссылка Python является намеренной.)
Решение для оболочки Korn (усекающий к 70 символам - легкий параметризовать, хотя):
typeset -L70 line
while read line
do
print $line
done
Можно использовать связанную переменную, которая отсекает ее содержание к фиксированной длине:
#! /usr/bin/perl -w
use strict;
use warnings
use String::FixedLen;
tie my $str, 'String::FixedLen', 4;
while (defined($str = <>)) {
chomp;
print "$str\n";
}
Это не точно, что Вы просите, но Экран GNU (включенный с OS X, если я вспоминаю правильно, и распространенный на другом *отклоняют системы), позволяет Вам повернуть строку, переносящуюся вкл\выкл (C-a r и C-a C-r). Тем путем можно просто изменить размер терминала вместо того, чтобы передать материал по каналу через сценарий.
Экран в основном дает Вам "виртуальные" терминалы в рамках одного терминального приложения верхнего уровня.
use strict;
use warnings
use String::FixedLen;
tie my $str, 'String::FixedLen', 4;
while (defined($str = <>)) {
chomp;
print "$str\n";
}