Changeset 4949

Show
Ignore:
Timestamp:
01/19/08 15:46:23 (5 years ago)
Author:
nshuyo
Message:

lang/javascript/jsruby: debug for IE (experimentally)

Location:
lang/javascript/jsruby/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/jsruby/trunk/check_async.html

    r4946 r4949  
    1717<body> 
    1818 
    19 <h1>JSRuby Check - Ruby for Javascript</h1> 
     19<h1>asynchronous JSRuby Check (experimentally)</h1> 
    2020 
    2121 
     
    6767</script> 
    6868 
    69  
    70  
    71 <h1>JSirb - JSRuby Console</h1> 
    72 <div id="jsirb" style="width:640px;height:400px;overflow:auto;border:1px solid #333;"></div><br /> 
    73 <input id="jsirbinput" style="width:640px;" /> 
    74  
    75 <script type="text/javascript"> 
    76 String.prototype.toh = function(){ return this.replace(/</g, "&lt;").replace(/\n/g, "<br />"); } 
    77  
    78 function cmdentry(evt) { 
    79         if (!FIREFOX) evt = event; 
    80         if (evt.keyCode==13) { 
    81                 var jsirb = $('jsirb'); 
    82                 var cmd = $('jsirbinput').value; 
    83                 var code = parser.parse(cmd); 
    84                 if (code && parser.isfull()) { 
    85                         ruby.stdout = ""; 
    86                         var ret = ruby.run(code); 
    87                         if (typeof(ret)=="string") ret = ret.toh(); 
    88                         jsirb.innerHTML += cmd.toh() + "<br />" + ruby.stdout.toh() + "=> " + ret + "<br />"; 
    89                 } else { 
    90                         jsirb.innerHTML += cmd.toh() + "<br />" + "Syntax error.<br />"; 
    91                 } 
    92                 var h = jsirb.scrollHeight - jsirb.clientHeight; 
    93                 if (h>0) jsirb.scrollTop = h; 
    94  
    95                 $('jsirbinput').value = ''; 
    96         } 
    97  
    98 } 
    99 $('jsirbinput').onkeypress = cmdentry; 
    100 </script> 
    101  
    102  
    103 <div style="float:right">(c)2007 Nakatani Shuyo / Cybozu Labs, inc.</div> 
     69<div style="float:right">(c)2008 Nakatani Shuyo / Cybozu Labs, inc.</div> 
    10470 
    10571</body> 
  • lang/javascript/jsruby/trunk/src/builtinobjects.js

    r4771 r4949  
    320320  }, 
    321321  "method_missing": function(self, args, block) { 
     322alert(args.toSource()); 
    322323    var name = this.run(args[0]).str; 
    323324    if (args.length==1) { 
    324325      return RubyEngine.RubyObject.js2r(self.obj[name]); 
    325     } else if (name[name.length-1] == "=") { 
     326    } else if (name.charAt(name.length-1) == "=") { 
    326327      var v=this.run(args[1]) 
    327328      self.obj[name.slice(0, name.length-1)] = v.toValue(); 
  • lang/javascript/jsruby/trunk/src/smachine.js

    r4947 r4949  
    1515    if (args.length==1) { 
    1616      return RubyEngine.RubyObject.js2r(self.obj[name]); 
    17     } else if (name[name.length-1] == "=") { 
     17    } else if (name.charAt(name.length-1) == "=") { 
    1818      self.obj[name.slice(0, name.length-1)] = args[1].toValue(); 
    1919      return args[1];