puby

Ruby 的 Python 接口
授权协议 MIT
开发语言 Python Ruby
所属分类 程序开发、 其他开发相关
软件类型 开源软件
地区 不详
投 递 者 商昆琦
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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)

 相关资料
  • rbd 的 python 模块为 RBD 映像提供了类似文件的访问方法。 实例:创建一映像并写入 要使用 rbd ,必须先连接 RADOS 并打开一个 IO 上下文: cluster = rados.Rados(conffile='my_ceph.conf') cluster.connect() ioctx = cluster.open_ioctx('mypool') 然后实例化一个 :clas

  • 问题内容: 如何使用Python和urllib2设置源IP /接口? 问题答案: 不幸的是,正在使用的标准库模块堆栈(urllib2,httplib,socket)为此目的而设计得有些糟糕- 在操作的关键点(在httplib中)委托给,这反过来使您没有任何“钩子”在创建套接字实例和调用之间,您需要在插入之前插入源IP(我正在广泛传播信息,而不是以这种不密封,过度封装的方式设计抽象- 我我将在本周四

  • motion --- 小奔底盘移动 功能相关函数 rocky.stop() 小奔停止运动。 rocky.forward(speed, t = None, straight = False) 小奔向前运动,参数: speed 运动速度的数值,参数范围 -100 ~ 100,负数代表后退,正数代表前进。 t 运动时间的数值,单位为 秒,参数范围 0 ~ 数值范围极限,如果设置为 1,代表小车往前运动

  • led — 板载全彩LED灯 功能相关函数 led.show(r,g,b) 设置并显示RGB LED灯的颜色,参数: r 全彩LED红色分量的数值,参数范围是 0 ~ 255, 0为无红色分量,255是红色分量最亮。 g 全彩LED绿色分量的数值,参数范围是 0 ~ 255, 0为无绿色分量,255是绿色分量最亮。 b 全彩LED蓝色分量的数值,参数范围是 0 ~ 255, 0为无蓝色分量,255

  • 问题内容: 我正在为一个类编写一个函数: 我的图是: 其中键是节点,值是边。我的功能给了我这个连接的组件: 但是我将有两个不同的连接组件,例如: 我不明白我在哪里犯了错误。谁能帮我? 问题答案: 让我们简化图形表示: 这里,我们有一个函数返回一个字典,该字典的键是根,值是连接的组件: 让我们尝试一下: {8:[6、8、9],1:[0、1、2、3、4、5、7]}

  • 问题内容: 我对R很陌生,并且对python很熟悉。我不太喜欢编写R代码。我正在寻找R的python接口,这使我能够以 pythonic方式 使用R包。 我已经完成了谷歌研究,发现有几个软件包可以做到这一点: Rpy2 PypeR pyRserve 但是不确定哪个更好?哪个贡献者更多,使用更积极? 请注意,我的主要要求是 访问R包的pythonic方法 。 问题答案: 正如@lgautier所指出

  • 我正在构建一个简单的客户端-服务器多人游戏,我想连接UDP套接字。但是,当我调用方法时,它会生成

  • 问题内容: 在Codewars.com上,我遇到了以下任务: 创建一个函数,该函数在连续调用时将数字加在一起。所以应该返回,应该返回,… 虽然我熟悉Python的基础知识,但从未遇到过可以连续调用的函数,即可以称为的函数。到目前为止,我什至不确定如何解释这种表示法。 作为一个数学家,我怀疑是分配到每个功能的函数,然后返回,同样也。 如果这种解释是正确的,Python将允许我动态创建对我来说非常有趣