diff options
| author | Inge Jørgensen <inge@manualdesign.no> | 2015-02-28 00:36:27 +0100 |
|---|---|---|
| committer | Inge Jørgensen <inge@manualdesign.no> | 2015-02-28 00:36:27 +0100 |
| commit | 107d969497d482b07c33c4f28123727fa0a0b263 (patch) | |
| tree | c3d782837398e26c3e2804f70fe49e2fdb4336c1 | |
| parent | 1218ce98a40ef243824fed0efce7160a10fe5f36 (diff) | |
| download | mal-107d969497d482b07c33c4f28123727fa0a0b263.tar.gz mal-107d969497d482b07c33c4f28123727fa0a0b263.zip | |
Ruby: Updated for Ruby 1.9+
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | ruby/core.rb | 4 | ||||
| -rw-r--r-- | ruby/mal_readline.rb | 2 | ||||
| -rw-r--r-- | ruby/printer.rb | 2 | ||||
| -rw-r--r-- | ruby/reader.rb | 2 | ||||
| -rw-r--r-- | ruby/step0_repl.rb | 3 | ||||
| -rw-r--r-- | ruby/step1_read_print.rb | 9 | ||||
| -rw-r--r-- | ruby/step2_eval.rb | 9 | ||||
| -rw-r--r-- | ruby/step3_env.rb | 11 | ||||
| -rw-r--r-- | ruby/step4_if_fn_do.rb | 13 | ||||
| -rw-r--r-- | ruby/step5_tco.rb | 13 | ||||
| -rw-r--r-- | ruby/step6_file.rb | 13 | ||||
| -rw-r--r-- | ruby/step7_quote.rb | 13 | ||||
| -rw-r--r-- | ruby/step8_macros.rb | 13 | ||||
| -rw-r--r-- | ruby/step9_try.rb | 13 | ||||
| -rw-r--r-- | ruby/stepA_interop.rb | 13 | ||||
| -rw-r--r-- | ruby/types.rb | 2 |
17 files changed, 63 insertions, 74 deletions
@@ -286,7 +286,7 @@ cd racket ./stepX_YYY.rb ``` -### Ruby (1.8) +### Ruby (1.9+) ``` cd ruby diff --git a/ruby/core.rb b/ruby/core.rb index d55100c..b82bddc 100644 --- a/ruby/core.rb +++ b/ruby/core.rb @@ -1,6 +1,6 @@ require "readline" -require "reader" -require "printer" +require_relative "reader" +require_relative "printer" $core_ns = { :"=" => lambda {|a,b| a == b}, diff --git a/ruby/mal_readline.rb b/ruby/mal_readline.rb index 63c5571..3799783 100644 --- a/ruby/mal_readline.rb +++ b/ruby/mal_readline.rb @@ -4,7 +4,7 @@ $history_loaded = false $histfile = "#{ENV['HOME']}/.mal-history" def _readline(prompt) - if not $history_loaded + if !$history_loaded && File.exist?($histfile) $history_loaded = true File.readlines($histfile).each {|l| Readline::HISTORY.push(l.chomp)} end diff --git a/ruby/printer.rb b/ruby/printer.rb index 37d338a..ef067a5 100644 --- a/ruby/printer.rb +++ b/ruby/printer.rb @@ -1,4 +1,4 @@ -require "types" +require_relative "types" def _pr_str(obj, print_readably=true) _r = print_readably diff --git a/ruby/reader.rb b/ruby/reader.rb index 641e65c..badc6ec 100644 --- a/ruby/reader.rb +++ b/ruby/reader.rb @@ -1,4 +1,4 @@ -require "types" +require_relative "types" class Reader def initialize(tokens) diff --git a/ruby/step0_repl.rb b/ruby/step0_repl.rb index 9c03cfa..2f9e6a9 100644 --- a/ruby/step0_repl.rb +++ b/ruby/step0_repl.rb @@ -1,5 +1,4 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" +require_relative "mal_readline" # read def READ(str) diff --git a/ruby/step1_read_print.rb b/ruby/step1_read_print.rb index ded992a..ef416c3 100644 --- a/ruby/step1_read_print.rb +++ b/ruby/step1_read_print.rb @@ -1,8 +1,7 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" # read def READ(str) diff --git a/ruby/step2_eval.rb b/ruby/step2_eval.rb index 50a135d..d2b7e1a 100644 --- a/ruby/step2_eval.rb +++ b/ruby/step2_eval.rb @@ -1,8 +1,7 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" # read def READ(str) diff --git a/ruby/step3_env.rb b/ruby/step3_env.rb index 17126c5..ec8405b 100644 --- a/ruby/step3_env.rb +++ b/ruby/step3_env.rb @@ -1,9 +1,8 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" # read def READ(str) diff --git a/ruby/step4_if_fn_do.rb b/ruby/step4_if_fn_do.rb index a93463b..151ecf6 100644 --- a/ruby/step4_if_fn_do.rb +++ b/ruby/step4_if_fn_do.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step5_tco.rb b/ruby/step5_tco.rb index 38bb204..80be457 100644 --- a/ruby/step5_tco.rb +++ b/ruby/step5_tco.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step6_file.rb b/ruby/step6_file.rb index 0c99cee..4eeca86 100644 --- a/ruby/step6_file.rb +++ b/ruby/step6_file.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step7_quote.rb b/ruby/step7_quote.rb index 48385f1..23d9499 100644 --- a/ruby/step7_quote.rb +++ b/ruby/step7_quote.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step8_macros.rb b/ruby/step8_macros.rb index 58adaea..488db12 100644 --- a/ruby/step8_macros.rb +++ b/ruby/step8_macros.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/step9_try.rb b/ruby/step9_try.rb index 74d0f59..533853b 100644 --- a/ruby/step9_try.rb +++ b/ruby/step9_try.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/stepA_interop.rb b/ruby/stepA_interop.rb index 6123293..3fb4af0 100644 --- a/ruby/stepA_interop.rb +++ b/ruby/stepA_interop.rb @@ -1,10 +1,9 @@ -$: << File.expand_path(File.dirname(__FILE__)) -require "mal_readline" -require "types" -require "reader" -require "printer" -require "env" -require "core" +require_relative "mal_readline" +require_relative "types" +require_relative "reader" +require_relative "printer" +require_relative "env" +require_relative "core" # read def READ(str) diff --git a/ruby/types.rb b/ruby/types.rb index 72d24d1..d64664b 100644 --- a/ruby/types.rb +++ b/ruby/types.rb @@ -1,4 +1,4 @@ -require "env" +require_relative "env" class MalException < StandardError attr_reader :data |
