- 授权协议: MIT
- 开发语言: Python Ruby
- 操作系统: 跨平台
- 软件首页: https://github.com/tomjnixon/puby
- 软件文档: https://github.com/tomjnixon/puby
软件介绍
puby 是 Ruby 解释器的 Python 接口。
示例代码
解析 HTML
# python # # ruby
from puby import Object as rb #
rb.require("nokogiri") # require "nokogiri"
rb.require("open-uri") # require "open-uri"
url = "http://www.google.com/search?q=foo" # url = "http://www.google.com/search?q=foo"
doc = rb.Nokogiri.HTML.parse(rb.open(url)) # doc = Nokogiri::HTML.parse(open(url))
for link in doc.css("h3.r a"): # doc.css("h3.r a").each do |link|
print link.content() # puts link.content
# end
执行 JavaScript:
from puby import Object as rb #
rb.require('v8') # require "v8"
ctx = rb.V8.Context.new() # ctx = V8::Context.new
print ctx.eval("'Xzibit ' + 7 * 6") # puts ctx.eval "'Xzibit ' + 7 * 6"
运行 Web 服务器:
from puby import Object as rb #
rb.require("rack") # require "rack"
#
def application(env): # def application(env)
return [200, # [200,
{"Content-Type": "text/html"}, # {"Content-Type" => "text/html"},
["Hello Puby!"]] # ["Hello Puby!"]]
# end
rb.Rack.Handler.Thin.run(application) # Rack::Handler::Thin.run method(:application)
回调示例:
from puby import Object as rb, RbCallback
rb.eval("""
class TestObj
def save_callback cb
@cb = cb
end
def call_callback x
@cb.call(x)
end
end
""")
obj = rb.TestObj.new()
def callback(x):
return x+1
callback_rb = RbCallback(callback)
obj.save_callback(callback_rb)
print obj.call_callback(5)
Programming in Haskell
Graham Hutton / Cambridge University Press / 2007-1-18 / GBP 34.99
Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduc......一起来看看 《Programming in Haskell》 这本书的介绍吧!
