- 授权协议: 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)
The Creative Curve
Allen Gannett / Knopf Doubleday Publishing Group / 2018-6-12
Big data entrepreneur Allen Gannett overturns the mythology around creative genius, and reveals the science and secrets behind achieving breakout commercial success in any field. We have been s......一起来看看 《The Creative Curve》 这本书的介绍吧!
