Text processing/2: Difference between revisions

Content added Content deleted
m (→‎{{header|Sidef}}: added an warning for invalid lines)
m (→‎{{header|Sidef}}: modified the code to work with the latest version of Sidef)
Line 2,543: Line 2,543:
{{trans|Perl 6}}
{{trans|Perl 6}}
<lang ruby>var good_records = 0;
<lang ruby>var good_records = 0;
var dates = Hash.new -> default(0);
var dates = Hash.new;


ARGF.each { |line|
ARGF.each { |line|
line ~~ /^(\d\d\d\d-\d\d-\d\d)((?:\h+\d+\.\d+\h+-?\d+){24})\s*$/
var m = /^(\d\d\d\d-\d\d-\d\d)((?:\h+\d+\.\d+\h+-?\d+){24})\s*$/.match(line);
|| (warn "Bad format at line #{$.}"; next);
m || (warn "Bad format at line #{$.}"; next);
dates[$1]++;
dates{m[0]} := 0 ++;
var i = 0;
var i = 0;
$2.words.all{|n| i++ is_even || (n.to_num >= 1) } && good_records++;
m[1].words.all{|n| i++.is_even || (n.to_num >= 1) } && ++good_records;
}
}