0 или 1 допустимые возвращаемые значения для вызова функции socket ()

Поместите каждое изображение в контейнер с установленной шириной и высотой.

Все, что течет снаружи, будет видимым, но не повлияет на содержимое.

http://jsfiddle.net/ ck6MG /

16
задан Alan H 4 February 2010 в 17:24
поделиться

5 ответов

И 0, и 1 являются допустимыми возвращаемыми значениями и действительно могут быть возвращены, если приложение закрыло свои стандартные дескрипторы файлов ввода или вывода.

17
ответ дан 30 November 2019 в 21:03
поделиться

Когда ваш процесс запускается, 0 - это стандартный ввод, а 1 - стандартный вывод, но вы можете закрыть их, и, следовательно, вы можете вернуть эти FD обратно

{ {1}}
4
ответ дан 30 November 2019 в 21:03
поделиться

0 или 1 придет точно, если вы закрыли дескрипторы stdin или stdout. Это могло произойти, потому что по ошибке вы могли передать переменную (скорее всего, ту, в которой вы храните дескриптор сокета) в функцию закрытия сокета после инициализации. Поскольку переменная может быть инициализирована значением 0, это может привести к закрытию stdin.

4
ответ дан 30 November 2019 в 21:03
поделиться

Специальные переменные 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]

. В начале @ они представляют собой одноэлементные срезы массива, а в случае $ - простые скаляры.

-121--3338971-

Необходимо либо 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 _? .

-121--2524369-

Согласно странице человека, да, это может.

1
ответ дан 30 November 2019 в 21:03
поделиться

Единственными значениями, которые не являются допустимыми дескрипторами файлов, являются те, которые меньше 0. -1 будет указывать на ошибку, и будет установлена ​​ошибка errno. Вы никогда не должны видеть отрицательное значение, отличное от -1.

3
ответ дан 30 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: