Changeset 3944 for lang/perl/Senna
- Timestamp:
- 01/02/08 00:32:22 (5 years ago)
- Location:
- lang/perl/Senna/trunk
- Files:
-
- 4 modified
-
lib/Senna/Index.pm (modified) (2 diffs)
-
t/index/01_create.t (modified) (1 diff)
-
t/index/02_open.t (modified) (2 diffs)
-
t/index/03_simple.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Senna/trunk/lib/Senna/Index.pm
r3941 r3944 14 14 { 15 15 my $class = shift; 16 my %args = @_;17 16 18 $args{key_size} ||= 0; 19 $args{flags} ||= 0; 20 my @xs_args = @args{ qw(path key_size flags initial_n_segments encoding) }; 21 pop @xs_args while @xs_args && ! defined $xs_args[-1]; 22 $class->XS_create(@xs_args); 17 my @fields = qw(path key_size flags initial_n_segments encoding); 18 my $count = scalar @_; 19 if ($count == 1) { 20 if (ref $_[0] eq 'HASH') { 21 @_ = map { $_[0]->{$_} } @fields; 22 } 23 } elsif ($count != 5) { 24 my %args = @_; 25 @_ = @args{ @fields }; 26 } 27 28 pop @_ while @_ && ! defined $_[-1]; 29 $class->XS_create(@_); 23 30 } 24 31 … … 96 103 =head2 create 97 104 105 Creates a new index. 106 107 my $index = Senna::Index->create( 108 $path, $key_size, $flags, $initial_n_segments, $encoding 109 ); 110 my $index = Senna::Index->create({ 111 path => $path, 112 key_size => $key_size, 113 flags => $flags, 114 initial_n_segments => $initial_n_segments, 115 encoding => $encoding 116 }); 117 118 For backwards compatibility, if given anything other than 1 or 5 arguments, 119 create() assumes that you've been given a key value pair like so: 120 121 my $index = Senna::Index->create( 122 path => $path, 123 key_size => $key_size, 124 flags => $flags, 125 initial_n_segments => $initial_n_segments, 126 encoding => $encoding 127 ); 128 129 However, note that this form is DEPRECATED. Use the HASHREF form instead 130 98 131 =head2 open 99 132 -
lang/perl/Senna/trunk/t/index/01_create.t
r3767 r3944 10 10 { 11 11 my $temp = File::Temp->new( UNLINK => 1 ); 12 my $index = Senna::Index->create( path => $temp->filename);12 my $index = Senna::Index->create({ path => $temp->filename }); 13 13 ok( $index ); 14 14 isa_ok( $index, "Senna::Index" ); -
lang/perl/Senna/trunk/t/index/02_open.t
r3767 r3944 1 1 use strict; 2 use Test::More (tests => 7);2 use Test::More (tests => 10); 3 3 use File::Temp; 4 4 … … 6 6 { 7 7 use_ok("Senna"); 8 use_ok("Senna::Constants", qw(SEN_ENC_DEFAULT)); 8 9 } 9 10 10 11 { 11 12 my $temp = File::Temp->new( UNLINK => 1 ); 12 my $index = Senna::Index->create( path => $temp->filename);13 my $index = Senna::Index->create({ path => $temp->filename }); 13 14 ok( $index ); 14 15 isa_ok( $index, "Senna::Index" ); 15 16 is( $index->path, $temp->filename ); 17 18 my $info = $index->info; 19 ok($info); 20 is($info->flags, 0); 21 16 22 ok( $index->close); 17 23 -
lang/perl/Senna/trunk/t/index/03_simple.t
r3937 r3944 20 20 21 21 { 22 my $index = Senna::Index->create( 22 my $index = Senna::Index->create({ 23 23 path => $temp->filename, 24 24 key_size => 0, 25 25 initial_n_segments => 256, 26 26 flags => SEN_INDEX_MORPH_ANALYSE | SEN_INDEX_NORMALIZE 27 );27 }); 28 28 29 29 open(my $fh, '<', $file) or
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)