Mercurial > pub > Impl
comparison Lib/IMPL/Object/List.pm @ 194:4d0e1962161c
Replaced tabs with spaces
IMPL::Web::View - fixed document model, new features (control classes, document constructor parameters)
author | cin |
---|---|
date | Tue, 10 Apr 2012 20:08:29 +0400 |
parents | 6148f89bb7bf |
children | 4ddb27ff4a0b |
comparison
equal
deleted
inserted
replaced
193:8e8401c0aea4 | 194:4d0e1962161c |
---|---|
41 sub Count { | 41 sub Count { |
42 return scalar @{$_[0]}; | 42 return scalar @{$_[0]}; |
43 } | 43 } |
44 | 44 |
45 sub Item { | 45 sub Item { |
46 return $_[0]->[$_[1]]; | 46 return $_[0]->[$_[1]]; |
47 } | 47 } |
48 | 48 |
49 sub InsertAt { | 49 sub InsertAt { |
50 my ($this,$index,@val) = @_; | 50 my ($this,$index,@val) = @_; |
51 | 51 |
75 | 75 |
76 return $this; | 76 return $this; |
77 } | 77 } |
78 | 78 |
79 sub FindItem { | 79 sub FindItem { |
80 my ($this,$item) = @_; | 80 my ($this,$item) = @_; |
81 | 81 |
82 for (my $i = 0; $i < @$this; $i++ ) { | 82 for (my $i = 0; $i < @$this; $i++ ) { |
83 return $i if $this->[$i] == $item | 83 return $i if $this->[$i] == $item |
84 } | 84 } |
85 return undef; | 85 return undef; |
86 } | 86 } |
87 | 87 |
88 sub FindItemStr { | 88 sub FindItemStr { |
89 my ($this,$item) = @_; | 89 my ($this,$item) = @_; |
90 | 90 |
91 for (my $i = 0; $i < @$this; $i++ ) { | 91 for (my $i = 0; $i < @$this; $i++ ) { |
92 return $i if $this->[$i] eq $item | 92 return $i if $this->[$i] eq $item |
93 } | 93 } |
94 return undef; | 94 return undef; |
95 } | 95 } |
96 | 96 |
97 sub save { | 97 sub save { |
98 my ($this,$ctx) = @_; | 98 my ($this,$ctx) = @_; |
99 | 99 |
100 $ctx->AddVar( item => $_ ) foreach @$this; | 100 $ctx->AddVar( item => $_ ) foreach @$this; |
101 } | 101 } |
102 | 102 |
103 sub restore { | 103 sub restore { |
104 my ($class,$data,$surrogate) = @_; | 104 my ($class,$data,$surrogate) = @_; |
105 | 105 |
106 my $i = 0; | 106 my $i = 0; |
107 | 107 |
108 if ($surrogate) { | 108 if ($surrogate) { |
109 @$surrogate = grep { ($i++)%2 } @$data; | 109 @$surrogate = grep { ($i++)%2 } @$data; |
110 } else { | 110 } else { |
111 $surrogate = $class->new([grep { ($i++)%2 } @$data]); | 111 $surrogate = $class->new([grep { ($i++)%2 } @$data]); |
112 } | 112 } |
113 | 113 |
114 return $surrogate; | 114 return $surrogate; |
115 } | 115 } |
116 | 116 |
117 1; | 117 1; |