@@ -90,45 +90,45 @@ the result of replacement the L«C<basename>|/routine/basename» of the path
90
90
ends up being empty, it will be assumed to be C < . > (a single dot).
91
91
92
92
# Getting an extension:
93
- say "foo.tar.gz".IO.extension2 ; # OUTPUT: «gz»
94
- say "foo.tar.gz".IO.extension2 : :2parts; # OUTPUT: «tar.gz»
95
- say "foo.tar.gz".IO.extension2 : :parts(^5); # OUTPUT: «tar.gz»
96
- say "foo.tar.gz".IO.extension2 : :parts(0..1); # OUTPUT: «gz»
93
+ say "foo.tar.gz".IO.extension ; # OUTPUT: «gz»
94
+ say "foo.tar.gz".IO.extension : :2parts; # OUTPUT: «tar.gz»
95
+ say "foo.tar.gz".IO.extension : :parts(^5); # OUTPUT: «tar.gz»
96
+ say "foo.tar.gz".IO.extension : :parts(0..1); # OUTPUT: «gz»
97
97
98
98
# Replacing an extension
99
- say "foo.tar.gz".IO.extension2 : ''; # OUTPUT: «"foo.tar".IO»
100
- say "foo.tar.gz".IO.extension2 : 'ZIP'; # OUTPUT: «"foo.tar.ZIP".IO»
101
- say "foo.tar.gz".IO.extension2 : 'ZIP', :0parts; # OUTPUT: «"foo.tar.gz.ZIP".IO»
102
- say "foo.tar.gz".IO.extension2 : 'ZIP', :2parts; # OUTPUT: «"foo.ZIP".IO»
103
- say "foo.tar.gz".IO.extension2 : 'ZIP', :parts(^5); # OUTPUT: «"foo.ZIP".IO»
99
+ say "foo.tar.gz".IO.extension : ''; # OUTPUT: «"foo.tar".IO»
100
+ say "foo.tar.gz".IO.extension : 'ZIP'; # OUTPUT: «"foo.tar.ZIP".IO»
101
+ say "foo.tar.gz".IO.extension : 'ZIP', :0parts; # OUTPUT: «"foo.tar.gz.ZIP".IO»
102
+ say "foo.tar.gz".IO.extension : 'ZIP', :2parts; # OUTPUT: «"foo.ZIP".IO»
103
+ say "foo.tar.gz".IO.extension : 'ZIP', :parts(^5); # OUTPUT: «"foo.ZIP".IO»
104
104
105
105
# Replacing an extension using non-standard joiner:
106
- say "foo.tar.gz".IO.extension2 : '', :joiner<_>; # OUTPUT: «"foo.tar_".IO»
107
- say "foo.tar.gz".IO.extension2 : 'ZIP', :joiner<_>; # OUTPUT: «"foo.tar_ZIP".IO»
108
- say "foo.tar.gz".IO.extension2 : 'ZIP', :joiner<_>,
106
+ say "foo.tar.gz".IO.extension : '', :joiner<_>; # OUTPUT: «"foo.tar_".IO»
107
+ say "foo.tar.gz".IO.extension : 'ZIP', :joiner<_>; # OUTPUT: «"foo.tar_ZIP".IO»
108
+ say "foo.tar.gz".IO.extension : 'ZIP', :joiner<_>,
109
109
:2parts; # OUTPUT: «"foo_ZIP".IO»
110
- say "foo.tar.gz".IO.extension2 : 'ZIP', :joiner<_>,
110
+ say "foo.tar.gz".IO.extension : 'ZIP', :joiner<_>,
111
111
:parts(^5); # OUTPUT: «"foo_ZIP".IO»
112
112
113
113
# EDGE CASES:
114
114
115
115
# There is no 5-part extension, so returned value is an empty string
116
- say "foo.tar.gz".IO.extension2 : :5parts; # OUTPUT: «»
116
+ say "foo.tar.gz".IO.extension : :5parts; # OUTPUT: «»
117
117
118
118
# There is no 5-part extension, so we replaced nothing:
119
- say "foo.tar.gz".IO.extension2 : 'ZIP', :5parts; # OUTPUT: «"foo.tar.gz".IO»
119
+ say "foo.tar.gz".IO.extension : 'ZIP', :5parts; # OUTPUT: «"foo.tar.gz".IO»
120
120
121
- # Replacing a 0-part extension, is just appending:
122
- say "foo.tar.gz".IO.extension2 : 'ZIP', :0parts; # OUTPUT: «"foo.tar.gz.ZIP".IO»
121
+ # Replacing a 0-part extension is just appending:
122
+ say "foo.tar.gz".IO.extension : 'ZIP', :0parts; # OUTPUT: «"foo.tar.gz.ZIP".IO»
123
123
124
- # A replace 1 part of the extension, using '.' joiner
125
- say "...".IO.extension2 : 'tar'; # OUTPUT: «"....tar".IO»
124
+ # Replace 1- part of the extension, using '.' joiner
125
+ say "...".IO.extension : 'tar'; # OUTPUT: «"....tar".IO»
126
126
127
- # A replace 1 part of the extension, using empty string joiner
128
- say "...".IO.extension2 : 'tar', :joiner(''); # OUTPUT: «"...tar".IO»
127
+ # Replace 1- part of the extension, using empty string joiner
128
+ say "...".IO.extension : 'tar', :joiner(''); # OUTPUT: «"...tar".IO»
129
129
130
130
# Remove 1-part extension; results in empty basename, so result is ".".IO
131
- say ".".IO.extension2 : ''; # OUTPUT: «".".IO»
131
+ say ".".IO.extension : ''; # OUTPUT: «".".IO»
132
132
133
133
= head2 method dirname
134
134
0 commit comments