Changeset 549
- Timestamp:
- 03/09/05 07:53:55 (4 years ago)
- svk:copy_cache_prev:
- 1869
- Files:
-
- 1 modified
-
modules/Locale-KeyedText/lib/Locale/KeyedText.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
modules/Locale-KeyedText/lib/Locale/KeyedText.pm
r546 r549 34 34 35 35 subtype KeyName of Str where { $_.defined and $_ ne '' and $_ !~ m/\W/ } 36 subtype KeyNameHash of Hash is shape( PkgName) of Str; # keys are of type KeyName, values of type Str36 subtype KeyNameHash of Hash is shape(KeyName) of Str; # keys are of type KeyName, values of type Str 37 37 subtype PkgName of Str where { $_.defined and $_ ne '' and $_ !~ m/<-[a-zA-Z0-9_:]>/ } 38 38 subtype PkgNameArray of Array of PkgName; … … 67 67 68 68 method new( $class: KeyName $msg_key, KeyNameHash ?%msg_vars ) returns Locale::KeyedText::Message { 69 my $message = $class.bless( {} ); 70 $message.msg_key = $msg_key; 71 $message.msg_vars = %msg_vars; # copy list values 72 return( $message ); 69 return( $class.bless( { msg_key => $msg_key, msg_vars => %msg_vars } ) ); 73 70 } 74 71 … … 91 88 method as_string( $message: ) returns Str { 92 89 # This method is intended for debugging use only. 93 return( $message.msg_key~': '~join( ', ', map { 94 $_.key~'='~($_.value // '') 95 } $message.msg_vars.pairs.sort ) ); # S02 says sorting Pairs sorts keys by default. 90 return( $message.msg_key~': '~$message.msg_vars.pairs.sort. 91 map:{ $_.key~'='~($_.value // '') }.join( ', ' ); # S02 says sorting Pairs sorts keys by default. 96 92 # I might use %hash.as() later, but don't know if it is customizable to sort or make undefs the empty str. 97 93 } … … 111 107 112 108 method new( $class: PkgNameArray @set_names, PkgNameArray @member_names ) returns Locale::KeyedText::Translator { 113 my $translator = $class.bless( {} ); 114 $translator.tmpl_set_nms = @set_names; # copy list values 115 $translator.tmpl_mem_nms = @member_names; # copy list values 116 return( $translator ); 109 return( $class.bless( { tmpl_set_nms => @set_names, tmpl_mem_nms => @member_names } ); 117 110 } 118 111
