diff options
author | murphy <murphy@rubychan.de> | 2006-10-17 09:44:47 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2006-10-17 09:44:47 +0000 |
commit | 70690604e7ea6fd6b89c256a52d65a308ad0fe77 (patch) | |
tree | 8f681315abf127e16019b3de92e16899517e3db4 /sample/demo_encoder.rb | |
parent | 3078dddb4cb2c5f09ff92bcd56401f75b79a13d1 (diff) | |
download | coderay-70690604e7ea6fd6b89c256a52d65a308ad0fe77.tar.gz |
Moved demos to sample/.
Diffstat (limited to 'sample/demo_encoder.rb')
-rw-r--r-- | sample/demo_encoder.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sample/demo_encoder.rb b/sample/demo_encoder.rb new file mode 100644 index 0000000..267676b --- /dev/null +++ b/sample/demo_encoder.rb @@ -0,0 +1,39 @@ +require 'coderay'
+
+SAMPLE = "puts 17 + 4\n"
+puts 'Encoders Demo: ' + SAMPLE
+scanner = CodeRay::Scanners[:ruby].new SAMPLE
+encoder = CodeRay::Encoders[:statistic].new
+
+tokens = scanner.tokenize
+stats = encoder.encode_tokens tokens
+
+puts
+puts 'Statistic:'
+puts stats
+
+# alternative 1
+tokens = CodeRay.scan SAMPLE, :ruby
+encoder = CodeRay.encoder(:tokens)
+textual = encoder.encode_tokens tokens
+puts
+puts 'Original text:'
+puts textual
+
+# alternative 2
+yaml = CodeRay.encoder(:yaml).encode SAMPLE, :ruby
+puts
+puts 'YAML:'
+puts yaml
+
+# alternative 3
+BIGSAMPLE = SAMPLE * 100
+dump = CodeRay.scan(BIGSAMPLE, :ruby).dump
+puts
+puts 'Dump:'
+p dump
+puts 'compressed: %d byte < %d byte' % [dump.size, BIGSAMPLE.size]
+
+puts
+puts 'Undump:'
+puts dump.undump.statistic
|