diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-10-27 03:59:28 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-10-27 03:59:28 +0000 |
| commit | 3868d9ad324c61b1f10d43439103e976ee99d0d2 (patch) | |
| tree | 0848f0c0e93738c4e03d0b42fd737377098d676e | |
| parent | 84af62b25c53c0d89dbd50b1ca9a916118f2b3bd (diff) | |
| download | perlweeklychallenge-club-3868d9ad324c61b1f10d43439103e976ee99d0d2.tar.gz perlweeklychallenge-club-3868d9ad324c61b1f10d43439103e976ee99d0d2.tar.bz2 perlweeklychallenge-club-3868d9ad324c61b1f10d43439103e976ee99d0d2.zip | |
- Added solutions by Colin Crain.
| -rw-r--r-- | challenge-031/colin-crain/perl5/ch-1.pl | 56 | ||||
| -rw-r--r-- | challenge-031/colin-crain/perl5/ch-2.pl | 75 | ||||
| -rw-r--r-- | stats/pwc-current.json | 419 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 68 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 488 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 484 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 58 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 40 |
12 files changed, 1078 insertions, 932 deletions
diff --git a/challenge-031/colin-crain/perl5/ch-1.pl b/challenge-031/colin-crain/perl5/ch-1.pl new file mode 100644 index 0000000000..b63f1b9984 --- /dev/null +++ b/challenge-031/colin-crain/perl5/ch-1.pl @@ -0,0 +1,56 @@ +#! /opt/local/bin/perl +# +# divide_by_zero.pl +# +# PWC31 - 1 +# +# Task #1 +# Create a function to check divide by zero error without checking if the denominator is zero. +# +# functional programming pardigms are fun +# +# colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN + +my ($n, $d) = @ARGV; + +unless (defined $n && defined $d) { say "usage ./divide_by_zero numerator denominator"; exit}; + +## from the beginning: +## matches maybe a digit, +## then maybe a decimal, +## then maybe not a digit if we matched before the decimal +## or necessarily a digit if there were no digits before +## so 0.5, .5 and 5. all are recognized as valid input +## but neither 2.2.5 nor . are valid +my $regex = '^(\d*)\.?(?(1)\d*|\d+)$'; +unless ($n =~ /$regex/ && $d =~ /$regex/ ) { say "arguments must be numbers"; exit }; + +say divide_safe( $n, $d ); + +sub divide_safe { +## safe division function +## given input n, d returns n/d +## if d = 0, returns NAN (Not A Number) + my ($numerator, $denominator) = @_; + my $result; + eval {$result = $numerator/$denominator}; + + if( $@ ){ + return "NAN"; + } + else { + return "$result"; + } + +} + + diff --git a/challenge-031/colin-crain/perl5/ch-2.pl b/challenge-031/colin-crain/perl5/ch-2.pl new file mode 100644 index 0000000000..3d35dc9e4f --- /dev/null +++ b/challenge-031/colin-crain/perl5/ch-2.pl @@ -0,0 +1,75 @@ +#! /opt/local/bin/perl +# +# dynamic_variable.pl +# +# PWC31 - 2 +# +# Task #2 +# Create a script to demonstrate creating dynamic variable name, assign a +# value to the variable and finally print the variable. The variable name +# would be passed as command line argument. +# +# notes: first of all, much like a YouTube video for assembling a firearm +# out of common items found around the home, just don't do this. Just +# because you can, doesn't mean one actually should. I can't think of +# any good reason not to use a hash for this. As a hash key, the +# outside data is by definition kept in it's own secure namespace, and +# if one is _that_ worried about the speed of an additional hash lookup +# one should probably be looking for a different method or even a +# different language. Perl hashes are very fast. In fact, perl variable +# namespaces are implemented as a hash. Saying +# my %namespace; +# $namespace{$input} = "whatever"; +# keeps everything nicely sandboxed. So build a data structure out of +# hashes. There is no need to use the perl variable namespace. Seriously. +# +# method: that said, of course you can do this. But you can't use +# 'strict'. Which is another reason why you shouldn't do this and +# use a hash instead. +# +# One thing we can do is at least try make it bit safer to take user +# input and make it a variable. We can install some sanity, like +# restricting the input to only things that can serve as a valid per +# variable, for starters. At least the regex was fun. +# +# +# +# +# 2019 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +# use warnings; +# use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN + +## get our proposed new variable +my $varname = validate( shift @ARGV ) ; +if (not defined $varname) { die "input '$varname' is not a valid perl varible name."}; + +## go ahead and make it a variable and show it does what is asked +${"$varname"} = "Don't Do This"; +say "after setting: \$" . "$varname is ${$varname} "; + +# UNCOMMENT TO SEE HEY! THERE IT IS +# +# foreach $key (keys %main::) { +# say $key; +# } + + + +## ## ## ## ## SUBS + +sub validate { +## makes sure input fits criteria for a valid perl variable name +## returns undef on failure + my $name = shift; + return undef unless ( ($name =~ /^[a-zA-Z_]+[\w\d]*$/) && (scalar( split //, $name ) < 252) ); + return $name; +} + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index eae5f44534..117cd23a00 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,21 +1,173 @@ { - "subtitle" : { - "text" : "[Champions: 28] Last updated at 2019-10-27 03:48:07 GMT" - }, - "xAxis" : { - "type" : "category" + "series" : [ + { + "name" : "Perl Weekly Challenge - 031", + "data" : [ + { + "name" : "Andrezgz", + "drilldown" : "Andrezgz", + "y" : 2 + }, + { + "name" : "Anton Fedotov", + "drilldown" : "Anton Fedotov", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "drilldown" : "Athanasius", + "name" : "Athanasius", + "y" : 4 + }, + { + "name" : "Burkhard Nickels", + "drilldown" : "Burkhard Nickels", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Colin Crain", + "name" : "Colin Crain" + }, + { + "name" : "Dave Cross", + "drilldown" : "Dave Cross", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby" + }, + { + "y" : 2, + "drilldown" : "Duane Powell", + "name" : "Duane Powell" + }, + { + "y" : 2, + "drilldown" : "E. Choroba", + "name" : "E. Choroba" + }, + { + "y" : 5, + "name" : "Javier Luque", + "drilldown" : "Javier Luque" + }, + { + "y" : 2, + "name" : "Joelle Maslak", + "drilldown" : "Joelle Maslak" + }, + { + "y" : 2, + "drilldown" : "Kevin Colyer", + "name" : "Kevin Colyer" + }, + { + "y" : 2, + "drilldown" : "Lars Balker", + "name" : "Lars Balker" + }, + { + "drilldown" : "Lars Thegler", + "name" : "Lars Thegler", + "y" : 2 + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "y" : 1, + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch" + }, + { + "y" : 2, + "drilldown" : "Markus Holzer", + "name" : "Markus Holzer" + }, + { + "drilldown" : "Maxim Kolodyazhny", + "name" : "Maxim Kolodyazhny", + "y" : 1 + }, + { + "y" : 2, + "name" : "Nazareno Delucca", + "drilldown" : "Nazareno Delucca" + }, + { + "name" : "Noud", + "drilldown" : "Noud", + "y" : 2 + }, + { + "drilldown" : "Pete Houston", + "name" : "Pete Houston", + "y" : 1 + }, + { + "y" : 2, + "name" : "Rage311", + "drilldown" : "Rage311" + }, + { + "y" : 4, + "name" : "Ruben Westerberg", + "drilldown" : "Ruben Westerberg" + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 1 + }, + { + "drilldown" : "Steven Wilson", + "name" : "Steven Wilson", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Tyler Limkemann", + "name" : "Tyler Limkemann" + }, + { + "y" : 2, + "drilldown" : "Vyacheslav Volgarev", + "name" : "Vyacheslav Volgarev" + }, + { + "name" : "Yet Ebreo", + "drilldown" : "Yet Ebreo", + "y" : 3 + } + ], + "colorByPoint" : 1 + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "drilldown" : { "series" : [ { "name" : "Andrezgz", + "id" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Andrezgz" + ] }, { "id" : "Anton Fedotov", @@ -42,6 +194,7 @@ "name" : "Arne Sommer" }, { + "id" : "Athanasius", "data" : [ [ "Perl 5", @@ -52,8 +205,7 @@ 2 ] ], - "name" : "Athanasius", - "id" : "Athanasius" + "name" : "Athanasius" }, { "id" : "Burkhard Nickels", @@ -66,28 +218,38 @@ "name" : "Burkhard Nickels" }, { + "name" : "Colin Crain", "data" : [ [ "Perl 5", 2 ] ], + "id" : "Colin Crain" + }, + { "name" : "Dave Cross", + "data" : [ + [ + "Perl 5", + 2 + ] + ], "id" : "Dave Cross" }, { - "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Dave Jacoby" + "id" : "Dave Jacoby" }, { - "id" : "Duane Powell", "name" : "Duane Powell", + "id" : "Duane Powell", "data" : [ [ "Perl 5", @@ -96,17 +258,18 @@ ] }, { - "name" : "E. Choroba", "data" : [ [ "Perl 5", 2 ] ], - "id" : "E. Choroba" + "id" : "E. Choroba", + "name" : "E. Choroba" }, { "name" : "Javier Luque", + "id" : "Javier Luque", "data" : [ [ "Perl 5", @@ -120,8 +283,7 @@ "Blog", 1 ] - ], - "id" : "Javier Luque" + ] }, { "id" : "Joelle Maslak", @@ -138,14 +300,14 @@ "name" : "Joelle Maslak" }, { - "id" : "Kevin Colyer", + "name" : "Kevin Colyer", "data" : [ [ "Perl 6", 2 ] ], - "name" : "Kevin Colyer" + "id" : "Kevin Colyer" }, { "data" : [ @@ -154,21 +316,21 @@ 2 ] ], - "name" : "Lars Balker", - "id" : "Lars Balker" + "id" : "Lars Balker", + "name" : "Lars Balker" }, { - "name" : "Lars Thegler", + "id" : "Lars Thegler", "data" : [ [ "Perl 5", 2 ] ], - "id" : "Lars Thegler" + "name" : "Lars Thegler" }, { - "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 5", @@ -183,7 +345,7 @@ 1 ] ], - "name" : "Laurent Rosenfeld" + "id" : "Laurent Rosenfeld" }, { "name" : "Lubos Kolouch", @@ -196,8 +358,8 @@ "id" : "Lubos Kolouch" }, { - "id" : "Markus Holzer", "name" : "Markus Holzer", + "id" : "Markus Holzer", "data" : [ [ "Perl 6", @@ -206,13 +368,13 @@ ] }, { - "id" : "Maxim Kolodyazhny", "data" : [ [ "Perl 5", 1 ] ], + "id" : "Maxim Kolodyazhny", "name" : "Maxim Kolodyazhny" }, { @@ -222,8 +384,8 @@ 2 ] ], - "name" : "Nazareno Delucca", - "id" : "Nazareno Delucca" + "id" : "Nazareno Delucca", + "name" : "Nazareno Delucca" }, { "id" : "Noud", @@ -236,26 +398,27 @@ "name" : "Noud" }, { - "name" : "Pete Houston", "data" : [ [ "Perl 5", 1 ] ], - "id" : "Pete Houston" + "id" : "Pete Houston", + "name" : "Pete Houston" }, { + "name" : "Rage311", "id" : "Rage311", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Rage311" + ] }, { + "name" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -266,18 +429,17 @@ 2 ] ], - "name" : "Ruben Westerberg", "id" : "Ruben Westerberg" }, { - "name" : "Simon Proctor", "data" : [ [ "Perl 6", 1 ] ], - "id" : "Simon Proctor" + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { "id" : "Steven Wilson", @@ -300,17 +462,16 @@ "id" : "Tyler Limkemann" }, { + "name" : "Vyacheslav Volgarev", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Vyacheslav Volgarev", "id" : "Vyacheslav Volgarev" }, { - "name" : "Yet Ebreo", "data" : [ [ "Perl 5", @@ -321,184 +482,38 @@ 1 ] ], - "id" : "Yet Ebreo" + "id" : "Yet Ebreo", + "name" : "Yet Ebreo" } ] }, + "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, "title" : { "text" : "Perl Weekly Challenge - 031" }, "chart" : { "type" : "column" }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 031", - "data" : [ - { - "y" : 2, - "name" : "Andrezgz", - "drilldown" : "Andrezgz" - }, - { - "y" : 2, - "name" : "Anton Fedotov", - "drilldown" : "Anton Fedotov" - }, - { - "y" : 3, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "y" : 4, - "drilldown" : "Athanasius", - "name" : "Athanasius" - }, - { - "drilldown" : "Burkhard Nickels", - "name" : "Burkhard Nickels", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Dave Cross", - "name" : "Dave Cross" - }, - { - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby", - "y" : 2 - }, - { - "drilldown" : "Duane Powell", - "name" : "Duane Powell", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "E. Choroba", - "name" : "E. Choroba" - }, - { - "drilldown" : "Javier Luque", - "name" : "Javier Luque", - "y" : 5 - }, - { - "name" : "Joelle Maslak", - "drilldown" : "Joelle Maslak", - "y" : 2 - }, - { - "name" : "Kevin Colyer", - "drilldown" : "Kevin Colyer", - "y" : 2 - }, - { - "y" : 2, - "name" : "Lars Balker", - "drilldown" : "Lars Balker" - }, - { - "y" : 2, - "name" : "Lars Thegler", - "drilldown" : "Lars Thegler" - }, - { - "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld", - "y" : 5 - }, - { - "y" : 1, - "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch" - }, - { - "y" : 2, - "drilldown" : "Markus Holzer", - "name" : "Markus Holzer" - }, - { - "drilldown" : "Maxim Kolodyazhny", - "name" : "Maxim Kolodyazhny", - "y" : 1 - }, - { - "name" : "Nazareno Delucca", - "drilldown" : "Nazareno Delucca", - "y" : 2 - }, - { - "drilldown" : "Noud", - "name" : "Noud", - "y" : 2 - }, - { - "y" : 1, - "drilldown" : "Pete Houston", - "name" : "Pete Houston" - }, - { - "y" : 2, - "drilldown" : "Rage311", - "name" : "Rage311" - }, - { - "y" : 4, - "drilldown" : "Ruben Westerberg", - "name" : "Ruben Westerberg" - }, - { - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor", - "y" : 1 - }, - { - "name" : "Steven Wilson", - "drilldown" : "Steven Wilson", - "y" : 2 - }, - { - "drilldown" : "Tyler Limkemann", - "name" : "Tyler Limkemann", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Vyacheslav Volgarev", - "name" : "Vyacheslav Volgarev" - }, - { - "y" : 3, - "drilldown" : "Yet Ebreo", - "name" : "Yet Ebreo" - } - ] - } - ], "legend" : { "enabled" : 0 }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + "subtitle" : { + "text" : "[Champions: 29] Last updated at 2019-10-27 03:59:09 GMT" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 990279aa1d..d1cd86012d 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -2,8 +2,14 @@ "title" : { "text" : "Perl Weekly Challenge Contributions - 2019" }, + "legend" : { + "enabled" : "false" + }, "subtitle" : { - "text" : "Last updated at 2019-10-27 03:48:17 GMT" + "text" : "Last updated at 2019-10-27 03:59:22 GMT" + }, + "chart" : { + "type" : "column" }, "yAxis" : { "min" : 0, @@ -11,24 +17,20 @@ "text" : null } }, - "legend" : { - "enabled" : "false" + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" }, "series" : [ { - "name" : "Contributions", - "dataLabels" : { - "enabled" : "true", - "y" : 10, - "format" : "{point.y:.0f}", - "rotation" : -90, - "color" : "#FFFFFF", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "align" : "right" - }, "data" : [ [ "Blog", @@ -36,28 +38,26 @@ ], [ "Perl 5", - 1294 + 1296 ], [ "Perl 6", 771 ] - ] - } - ], - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + ], + "name" : "Contributions", + "dataLabels" : { + "y" : 10, + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "rotation" : -90, + "format" : "{point.y:.0f}", + "align" : "right", + "enabled" : "true", + "color" : "#FFFFFF" } - }, - "type" : "category" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "chart" : { - "type" : "column" - } + } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 2504cea0ab..44b5875eb8 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,19 +1,189 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-10-27 03:48:17 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, + "series" : [ + { + "name" : "Perl Weekly Challenge Languages", + "data" : [ + { + "name" : "#001", + "drilldown" : "001", + "y" : 132 + }, + { + "y" : 104, + "drilldown" : "002", + "name" : "#002" + }, + { + "y" : 66, + "drilldown" : "003", + "name" : "#003" + }, + { + "name" : "#004", + "drilldown" : "004", + "y" : 86 + }, + { + "drilldown" : "005", + "y" : 66, + "name" : "#005" + }, + { + "drilldown" : "006", + "y" : 48, + "name" : "#006" + }, + { + "name" : "#007", + "y" : 56, + "drilldown" : "007" + }, + { + "drilldown" : "008", + "y" : 70, + "name" : "#008" + }, + { + "name" : "#009", + "drilldown" : "009", + "y" : 68 + }, + { + "y" : 60, + "drilldown" : "010", + "name" : "#010" + }, + { + "name" : "#011", + "y" : 78, + "drilldown" : "011" + }, + { + "name" : "#012", + "drilldown" : "012", + "y" : 83 + }, + { + "name" : "#013", + "drilldown" : "013", + "y" : 76 + }, + { + "y" : 95, + "drilldown" : "014", + "name" : "#014" + }, + { + "drilldown" : "015", + "y" : 93, + "name" : "#015" + }, + { + "name" : "#016", + "y" : 66, + "drilldown" : "016" + }, + { + "name" : "#017", + "drilldown" : "017", + "y" : 79 + }, + { + "drilldown" : "018", + "y" : 76, + "name" : "#018" + }, + { + "y" : 95, + "drilldown" : "019", + "name" : "#019" + }, + { + "y" : 95, + "drilldown" : "020", + "name" : "#020" + }, + { + "name" : "#021", + "drilldown" : "021", + "y" : 67 + }, + { + "drilldown" : "022", + "y" : 63, + "name" : "#022" + }, + { + "drilldown" : "023", + "y" : 91, + "name" : "#023" + }, + { + "name" : "#024", + "drilldown" : "024", + "y" : 70 + }, + { + "drilldown" : "025", + "y" : 55, + "name" : "#025" + }, + { + "drilldown" : "026", + "y" : 70, + "name" : "#026" + }, + { + "name" : "#027", + "drilldown" : "027", + "y" : 58 + }, + { + "y" : 78, + "drilldown" : "028", + "name" : "#028" + }, + { + "name" : "#029", + "y" : 76, + "drilldown" : "029" + }, + { + "y" : 112, + "drilldown" : "030", + "name" : "#030" + }, + { + "name" : "#031", + "y" : 66, + "drilldown" : "031" + } + ], + "colorByPoint" : "true" + } + ], "yAxis" : { "title" : { "text" : "Total Solutions" } }, + "xAxis" : { + "type" : "category" + }, + "tooltip" : { + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "followPointer" : "true" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-10-27 03:59:22 GMT" + }, + "chart" : { + "type" : "column" + }, "drilldown" : { "series" : [ { - "name" : "001", "id" : "001", "data" : [ [ @@ -28,7 +198,8 @@ "Blog", |
