자바스크립트로 루비프로그래밍을?
Scripter/JAVASCRIPT / 2008. 3. 28. 10:04
스크립트로 루비프로그래밍을 만든다?? 기발한 생각보다는 별놈이 다 있다는 생각이..
원본사이트 : HotRuby
아래그림은 루비로 실행된 FlashAS3 이다.
아래 파일을 다운로드 받아 다음과 같이 사용한다.
[compileRuby.cgi 내용]
원본사이트 : HotRuby
아래그림은 루비로 실행된 FlashAS3 이다.
아래 파일을 다운로드 받아 다음과 같이 사용한다.
<html>
<head>
<title>Block - HotRuby - Ruby on JavaScript</title>
<link href="../css/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../js/prettify.js"></script>
<script type="text/javascript" src="../js/ext-base.js"></script>
<script type="text/javascript" src="../js/HotRuby.js"></script>
<script type="text/ruby">
class Hoge
def add_msg &block
block.yield "is"
end
end
class Foo
NAME = ' - William Shakespeare'
def main
pre = "Action"
@space = " "
Hoge.new.add_msg do |msg|
fuga = "eloquence"
puts pre + @space + msg + @space + fuga + NAME
end
end
end
Foo.new.main
</script>
</head>
<body onload="prettyPrint(); new HotRuby().runFromScriptTag('/compileRuby.cgi')">
<h1>Block - HotRuby(Ruby on JavaScript)</h1>
<div>Result:</div>
<div id="debug" class="result"></div>
<br />
<head>
<title>Block - HotRuby - Ruby on JavaScript</title>
<link href="../css/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../js/prettify.js"></script>
<script type="text/javascript" src="../js/ext-base.js"></script>
<script type="text/javascript" src="../js/HotRuby.js"></script>
<script type="text/ruby">
class Hoge
def add_msg &block
block.yield "is"
end
end
class Foo
NAME = ' - William Shakespeare'
def main
pre = "Action"
@space = " "
Hoge.new.add_msg do |msg|
fuga = "eloquence"
puts pre + @space + msg + @space + fuga + NAME
end
end
end
Foo.new.main
</script>
</head>
<body onload="prettyPrint(); new HotRuby().runFromScriptTag('/compileRuby.cgi')">
<h1>Block - HotRuby(Ruby on JavaScript)</h1>
<div>Result:</div>
<div id="debug" class="result"></div>
<br />
[compileRuby.cgi 내용]
require 'json'
require 'cgi'
OutputCompileOption = {
:peephole_optimization =>true,
:inline_const_cache =>false,
:specialized_instruction =>false,
:operands_unification =>false,
:instructions_unification =>false,
:stack_caching =>false,
}
cgi = CGI.new
puts "Content-type: text/plain\n\n"
puts VM::InstructionSequence.compile(cgi['src'], "src", 1, OutputCompileOption).to_a.to_json
require 'cgi'
OutputCompileOption = {
:peephole_optimization =>true,
:inline_const_cache =>false,
:specialized_instruction =>false,
:operands_unification =>false,
:instructions_unification =>false,
:stack_caching =>false,
}
cgi = CGI.new
puts "Content-type: text/plain\n\n"
puts VM::InstructionSequence.compile(cgi['src'], "src", 1, OutputCompileOption).to_a.to_json
'Scripter > JAVASCRIPT' 카테고리의 다른 글
Javascript and jQuery Talk (0) | 2008.03.29 |
---|---|
XHTML1일때 스크롤링시 문제점 (0) | 2008.03.28 |
IE8에서의 자바스크립트 (0) | 2008.03.27 |
FF의 검색사이트 추가방법 (0) | 2008.03.26 |
Protoflow : prototype.js를 이용한 Coverflow (0) | 2008.03.12 |