Как я могу поймать изменения в %ENV?

Вам необходимо установить table-layout явно:

table {
  table-layout: fixed;
}

Затем вы можете установить ширину столбца:

th:nth-child(<<the number of which column you want to set the width>>) {
  width: <<your desried width>>
}

И если вы хотите установить ширину таблицы займите всю ширину, затем просто установите:

table {
  table-layout: auto;
}

То, что вы пытаетесь сделать, это сделать так:

table {
  table-layout: fixed;
  width: 20%;
}

Используя inline, будет работать следующее:

<table style="width:20%; table-layout: fixed;">

Вот классы ширины, с которыми идет начальная загрузка 4:

w-25 /* width: 25%; */
w-50 /* width: 50%; */
w-75 /* width: 75%; */
w-100 /* width: 100%; */

К которым вы можете обратиться к своей таблице для класса. Например, class="w-25"

Вы также можете применять классы столбцов - col-*:

<table class="col-3">
7
задан mmccoo 26 March 2009 в 14:45
поделиться

5 ответов

Это выполнимо. Я думаю, что существует, вероятно, потеря производительности для того, чтобы сделать ниже, и я уверен, что не покрывал все возможные случаи, но это должно определенно запустить Вас.

use strict;
use warnings;

tie %ENV, 'change_noticer', %ENV or die $!;

$ENV{PATH} .= ":test";
print $ENV{PATH}, "\n";
delete $ENV{PATH};

package change_noticer;

use strict;
use warnings;
use Carp;
use Tie::Hash;
use base 'Tie::StdHash';

sub DELETE {
    my $this = shift;

    carp "deleting \$ENV{$_[0]}";
    $this->SUPER::DELETE(@_);
}

sub STORE {
    my $this = shift;

    carp "altering \$ENV{$_[0]}";
    $this->SUPER::STORE(@_);
}

sub TIEHASH {
    my $class = shift;
    my $this  = bless {}, $class;

    while( my ($k,$v) = splice @_, 0, 2 ) {
        $this->{$k} = $v;
    }

    return $this;
}
4
ответ дан 6 December 2019 в 11:53
поделиться

Ой. Я просто кричал зад. Так или иначе, там предположительно, существует пакет монитора, который позволяет Вам наблюдать изменения, через связь, к существующим переменным. Это походило на интересную проблему, поэтому когда я начал рыть в документацию "связи" в Синем Camel, не было никакого определения для того, что происходит с существующей переменной (т.е. - ссылка сохраняется где-нибудь?). Так, я погуглил для "связи жемчуга "существующую переменную"". К сожалению, ссылка, которую я нашел, была социально недопустима (ограбленный материал), таким образом, меня в значительной степени хлопнули из существования, мудрая репутация.

Удача, все же.

Так или иначе, просто для уточнения, это находится в главе 9 "Усовершенствованного Программирования Perl", глава по "Связи". Удостоверьтесь, что Вы покупаете свою копию с уважаемого сайта :-)

9
ответ дан 6 December 2019 в 11:53
поделиться

Единственная вещь, о которой я могу думать, состоит в том, чтобы создать связанную названную переменную %ENVIRONMENT это действует как интерфейс к %ENV то, что можно сцепиться в. Затем использование удостоверяется, что Вы всегда используете %ENVIRONMENT вместо %ENV.

1
ответ дан 6 December 2019 в 11:53
поделиться

Другая вещь попробовать, читая между строк: вместо того, чтобы назвать "систему (...)" для задач, которые будут выполнены, реализуйте "my_system (...)", который распечатывает среду прежде, чем назвать внешнюю задачу, так, чтобы Вы могли воссоздать одну из задач с "ENV..." команда из командной строки

# show the environment in which an external command runs:
sub my_system
    {
    print map { $_ . "='" . $ENV{ $_ } . "'\n" } keys( %ENV);
    print "'" . join( "' '", @_) . "'\n";
    return system( @_);
    }
1
ответ дан 6 December 2019 в 11:53
поделиться

Переменная:: Волшебство, кажется, работает, хотя, в отличие от связанного хеша, это, кажется, не дает Вам значение.

use 5.010;
use Carp            qw<carp>;
use Variable::Magic qw<cast wizard>;

my $magic_hash = wizard store => sub { 
    carp "Hey! They're trying to set $_[-1]!"; 
};

cast %ENV, $magic_hash;

$ENV{HOME} = '~evilhacker';

И если я позже выхожу из оболочки, это, кажется, правильно устанавливает переменную среды, таким образом, я не просто ударил %ENV:

say `echo HOME=\$HOME`;
say `echo HOME=%HOME%`;
2
ответ дан 6 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

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