Поместите каждое изображение в контейнер с установленной шириной и высотой.
Все, что течет снаружи, будет видимым, но не повлияет на содержимое.
И 0, и 1 являются допустимыми возвращаемыми значениями и действительно могут быть возвращены, если приложение закрыло свои стандартные дескрипторы файлов ввода или вывода.
Когда ваш процесс запускается, 0 - это стандартный ввод, а 1 - стандартный вывод, но вы можете закрыть их, и, следовательно, вы можете вернуть эти FD обратно
{ {1}}0 или 1 придет точно, если вы закрыли дескрипторы stdin или stdout. Это могло произойти, потому что по ошибке вы могли передать переменную (скорее всего, ту, в которой вы храните дескриптор сокета) в функцию закрытия сокета после инициализации. Поскольку переменная может быть инициализирована значением 0, это может привести к закрытию stdin.
Специальные переменные Perl задокументированы в perlvar
, включая $;
$ SUBSEP
$;
Подстрочный разделитель для многомерной эмуляции массива. Если вы ссылаетесь на хэш-элемент как
$ foo {$ a, $ b, $ c}
это действительно означает
$ foo {join ($;, $ a, $ b, $ c)}
Но не ставьте
@ foo {$ a, $ b, $ c} # a slice- отметьте @
что означает
($ foo {$ a}, $ foo {$ b}, $ foo {$ c})
Значение по умолчанию -
«\034 »
, то же, что иSUBSEP
в состоянии awk. Если ключи содержат двоичные данные, может отсутствовать безопасное значение для$;
. (Мнемоническая: запятая (синтаксический подстрочный разделитель) - это полузапятая. Да, я знаю, это довольно хромает, но$,
уже принято за что-то более важное.)Рассмотрите возможность использования «реальных» многомерных массивов, как описано в perllol .
Мы могли бы догадаться о том, почему он используется ( например , может быть, @ b
содержит некоторые хэш-ключи), но знание того, как создается @ b
, позволит нам дать более полезные ответы.
Также обратите внимание, что @ b [$ i]
и @ a [0]
, вероятно, должны быть
$b[$i]
и
$a[0]
. В начале @
они представляют собой одноэлементные срезы массива, а в случае $
- простые скаляры.
Необходимо либо Object.class
, либо Object.type
.
Также можно использовать два метода Object.is_a?
и Object.instance _?
. Однако они не идентичны на 100%. Инструкция obj.instance _? (myClass)
возвращает значение true, только если объект obj
был создан как объект типа myClass
. Использование obj.is_a? (myClass)
возвращает значение true, если объект obj
имеет класс myClass
, является классом, унаследованным от myClass
, или в него включен модуль myClass
.
Например:
x = 1
x.class => Fixnum
x.instance_of? Integer => false
x.instance_of? Numeric => false
x.instance_of? Fixnum => true
x.is_a? Integer => true
x.is_a? Numeric => true
x.is_a? Fixnum => true
Поскольку метод C # требует очень специфического типа данных, рекомендуется использовать Object.instance _?
.
Согласно странице человека, да, это может.
Единственными значениями, которые не являются допустимыми дескрипторами файлов, являются те, которые меньше 0. -1 будет указывать на ошибку, и будет установлена ошибка errno. Вы никогда не должны видеть отрицательное значение, отличное от -1.