用ruby创建漂亮的PDF

我想用ruby创建PDF。一个特殊的需求是将图片嵌入到文本(或文本块)中,这意味着我需要能够让文本围绕图像流动。例如,图像应位于右上角,文本应从图像左侧开始,然后使用页面的整个宽度继续。我怎么用ruby做这个?谢谢你的建议 救援?我喜欢html->pdf方法。虽然这可能不是最好的选择(对虾是),但它使设计pdf变得很容易。看这个。您也可以采用在中记录的方法 好运是一个重量级人物,它可以让你用PDF做任何你想做的事情,你可以用jRuby连接到它 我使用的另一个选项是驱动OpenOffice(它有一

在Ruby中实现贝叶斯分类器?

我想实现一个简单的贝叶斯分类系统,对短信进行初步的情感分析。欢迎提供在Ruby中实现的实用建议。除了Bayes之外,我们也欢迎对其他方法的建议。Ilya Grigorik在 此外,您可能希望了解贝叶斯分类器的一些替代方法 ID3是一个很好的选择,因为它提供了一个决策树,即使是对机器学习技术没有任何真正了解的人也可以“理解”。我刚刚发布了,它是Ruby中一个功能齐全、健壮且高性能的朴素贝叶斯分类器。它使情绪分析等任务变得简单。有关更多信息,请阅读。我刚刚在github上查看过,新版本的ai4r g

Ruby 续集选择的列太多

似乎Sequel的默认选择是“select*”,这会在添加一些连接时导致各种问题。至少您的对象中的id是错误的(因为这样会返回多个“id”列)。像这样做 .select("people.*") 似乎可以工作,但这会将传入的字符串视为列并引用它。到目前为止,我不得不恢复到裸SQL来解决这个问题,但我知道必须有更好的方法。Sequel的默认行为是选择所有列,但很容易重写。如果要仅从单个表中选择所有列,请执行以下操作: 。选择(:people.*) 如果要使用文字SQL字符串: .select('p

如何按三个或更多元素对数组进行排序(ruby)

我有14列的csv文件,我想在ruby中按第6列、第2列和第11列对其进行排序 有一个很好的方法,sort_by,但它只对两列有效,不是吗。和array_of_array.sort_by{e|[e[2],e[0],e[1]],}不起作用 让我们假设在下面的示例中,我希望它按第3列、第1列和第2列进行排序 array_of_arrays = [[1,9,'a'],[2,2,'a'], [2,6,'b'], [1,3,'a'], [2,1,'b']] array_of_arrays.each {|

如何在ruby中递归创建目录?

我想将一个文件存储为/a/b/c/d.txt,但我不知道这些目录是否存在,如果需要,需要递归创建它们。 在ruby中如何做到这一点 require 'ftools' 使用: \u p是unix对父/路径的保留,如果对您更有意义,您还可以使用别名 FileUtils.mkpath '/a/b/c' 在Ruby 1.9中,FileUtils是从内核中删除的,因此您必须要求使用“FileUtils”如果您在unixy机器上运行,请不要忘记,您始终可以在Ruby下运行shell命令,方法是将其放在

在Ruby中使用regex中的变量进行字符串搜索

我正在尝试搜索一个字符串,以在一个单词数组中查找匹配项。我通过指定一个单词和一个输入来测试代码,它正确地找到了它,但由于某些原因,我无法让它正常工作。我检查了输入是否为字符串,并从列表中提取了单词。在此方面的任何帮助都将不胜感激。谢谢 def self.wordmatch(input, list) list.each {|word| if (input =~ /#{word}/i) puts "#{input} => #{word}" return 'MATCH'

如何运行Ruby?

这是我第一次使用Ruby,希望您能帮助我运行这个示例。 我在~/learnRuby/和gem install cloud的两个子目录中克隆了和 ruby -v // ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] gem list // cloud(0.0.1), RubyInline (3.8.6), pdf-writer (1.1.8) 我在.rb中添加了一个shebang#/usr/bin/env ruby和执行权限。 编辑:还

RubyonRails-截断为特定字符串

澄清:帖子的创建者应该能够决定何时进行删节 我在我的博客中实现了类似Wordpress的[---更多---]功能,并具有以下帮助功能: # application_helper.rb def more_split(content) split = content.split("[---MORE---]") split.first end def remove_more_tag(content) content.sub(“[---MORE---]", '') end 在索引视图中,帖子正文将

Ruby 什么是';右';基于';打开/关闭应用程序功能的数据结构;类型';算什么?

我的应用程序有10项功能可启用/禁用,具体取决于用户拥有的3种“类型”帐户中的哪一种 目前,我有10种方法(每个功能一种),大致如下: def is_FEATURENAME_enabled case currentuser.accounttype when "A", "C" # account types allow to see that feature return true else return false end end 然后,在我可能禁用某个功能的

ruby解析HTTParty数组-json

Ruby还是新手-如果有人问我这个问题,我会提前道歉 我使用HttpParty从API获取数据,它返回一个JSON数据数组,我不知道如何解析 #<Net::HTTPOK:0x1017fb8c0> {"ERRORARRAY":[],"DATA":[{"ALERT":1,"LABEL":"hello","WATCHDOG":1},{"LABEL":"goodbye","WATCHDOG":1} # {“ERRORARRAY”:[],“DATA”:[{“ALERT”:1,“LABEL”:

无法在ruby中执行RVM shell命令

长期潜伏者,第一次海报 目标 我的最终目标是制作一个Rake设置脚本来设置我的rvm环境(我需要动态创建gemset,将gems安装到这些gemset,并在这些gemset中运行ruby脚本) 问题 我需要在执行rvm命令的shell中设置rvm。基本思想是为rvm脚本提供源代码 当我在ruby中执行shell命令时,尝试为rvm脚本提供源代码时,问题就出现了。rvm只支持bash,但ruby在执行shell命令时似乎没有使用bash 我试过的 我尝试了所有的方法来执行列出的shell命令,但都

Ruby 如何捕获EventMachine服务器上的顶级故障?

我有一个EventMachine服务器,我正在用monit监视它。有时它会崩溃,我试图找出原因,但我不清楚如何记录所有顶级故障。我试过这样的代码: begin EventMachine::run do EventMachine::start_server('0.0.0.0', PORT, MyServer) end rescue Exception => e puts "FAILURE: #{e.class}: #{e}" end 但这似乎永远不会发现错误。我怀疑可能

Ruby 计数有什么作用?第7行

我想知道counts变量的作用是什么,就在最后一个端点之前的那个 # Pick axe page 51, chapter 4 # Count frequency method def count_frequency(word_list) counts = Hash.new(0) for word in word_list counts[word] += 1 end counts #what does this variable actual

Ruby sinatra中的嵌套布局

在sinatra应用程序中,我们有视图/layout.erb作为顶部布局。但是,有些页面只会共享某个频道的通用外观,而且还需要视图/layout.erb中的全局共享部分。是否有方法定义使用视图/layout.erb作为其父布局的嵌套布局 最简单的方法是让特定布局也包括全局布局,并将该特定布局设置为所需管线的默认布局 具体来说,是.erb <%= erb :layout %> # if you are using Sinatra 1.1 and

Ruby 如何在Emacs Haml模式下删除多个缩进?

我在本文后面的Emacs中安装了haml模式 这是我的代码: .row .a .b .c 我想去 .row .a .b .c 如何删除竖梃的意图,快捷方式是什么?在第二行上按TAB键几次应该可以完成这项工作。在haml模式下对行缩进的更改会影响其下方关联行的缩进。更一般地说,您可以在选择一个区域后,使用删除所有3行中的前导空格-C-x r d 在Haml模式下,选择下面的区域。行并按TAB键一次

Ruby Minitest规范自定义匹配器

我的测试中有一句话: page.has_reply?("my reply").must_equal true 为了使其更具可读性,我想使用自定义匹配器: page.must_have_reply "my reply" 基于的文档,我希望我需要编写一个匹配器,它看起来像这样: def have_reply(text) subject.has_css?('.comment_body', :text => text) end MiniTest::Unit::TestCase.regist

Ruby 使用Gems时,尾部UTF-8八位字节无效

每次尝试在终端中运行Ruby命令时,我都会遇到这个错误。此时,我甚至无法重新安装RVM。错误如下所示: /Users/ /.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:205:in `parse': (<unknown>): invalid trailing UTF-8 octet at line 1 column 1 (Psych::SyntaxError) from /Users/ /.rvm/rubies/ruby-2.0.

带负数的Ruby模3是不直观的

带有负数的Ruby模规则还不清楚。在IRB中: -7 % 3 == 2 应该是1! 为什么?因为在Ruby的整数除法语义中-7/3是-3。3*-3是-9,所以剩下2的余数 根据,x模y定义为: x-y*(x/y).floor 当%的一个操作数为负时,没有明确的最佳答案 返回什么结果。每种编程语言都有自己的规则。 的维基百科页面上有一个巨大的表格,显示了如何 每种编程语言都决定处理这个问题,但没有明确的定义 共识: $ # Modulus sign is: $ $ curl 'http:/

如何在Ruby中找到n个数组的交集?

[1,2,3]&[2,3,4]给出了[2,3]但是如何获得n个数组的交集呢 [[1,2,3],[2,3,4],[1,3,4]。会给[3] 使用&循环是可行的,但必须有更好的方法。仅使用&all数组。假设有3个数组 [[1, 2, 3], [2, 3, 4], [1, 3, 4]].inject(:&) #=> [3] a = [1,2,3] b = [2,3,4] c = [3,4,5] a & b & c => [3]

Ruby:扩展哈希构造函数

我是Ruby新手,如果我的术语不正确,我深表歉意 我正在尝试创建hash的子类,但在初始化它时遇到了问题。我希望能够使用现有散列和一些附加参数对其进行初始化,例如: x = NewHash[{:a => b}, extra_param] 我试图通过重写静态哈希[]运算符来实现这一点: class NewHash < Hash def self.[](hash_values, backend = nil) @backend = backend super(hash

Ruby 为非常大的散列(rails)创建计数器

因此,我尝试使用以下gem从Jira的rest API中解析出一些信息: 我正在创建一个报告应用程序,它将计算特定“受让人”解决特定项目中问题的次数 散列看起来像这样 [#<JIRA::Resource::Issue:329487 @attrs={'key'=>'value','key'=>'value', "fields"=> {project=>{'key'=>'value'}, assignee=>{'key'=>'value'}} [#'

如何卸载旧版本的Ruby,这样做明智吗?

当以root用户身份登录时,我键入ruby-v centOS服务器报告“ruby 1.9.3p392”。这就是我想要的 ruby -v 但是如果我把rvmsudorby-v放进去,那么我会得到‘ruby 1.8.7’。我不想使用这个旧版本,它给我的gitlab安装带来了问题 rvmsudo ruby -v 我想删除它,并确保只使用v1.9,我如何才能做到这一点?或者我应该把它留在那里,但尝试要求某些用户使用不同的版本 此外,如果这样做会把事情搞砸,是否有可能: a、 查看服务器上的任何内容是否需

如何在ruby中创建接受HTTPS的代理服务器

我正在看这个例子来创建代理服务器 如何使其支持https。有什么帮助吗?如果有任何使用WebRick的方法如果您已经让它为http工作,当您使用端口443并将http更改为HTTPS

区别于@&引用;属于类对象的实例变量和@@&引用;Ruby中的类变量?

根据 下面的@one是属于类对象的实例变量(注意这与类变量不同,不能称为@@one) @@value是一个类变量(类似于Java或C++中的static) @two是属于MyClass实例的实例变量 我的问题: @one和@value之间有什么区别? 还有,使用@one有什么理由吗 class MyClass @one = 1 @@value = 1 def initialize() @two = 2 end end @one是类MyClass的实例变量,@@va

Ruby rdoc和md之间的区别是什么?

标准RubyonRails项目具有README.rdoc。 许多github rails项目都有README.md 区别是什么?回答另一个已删除堆栈溢出问题的片段,方法是: RDoc是一个很棒的工具,它可以自动生成包含文档化代码的格式化HTML 例如,RubyGems上的大多数GEM都会获取文档并对其进行编译,以得到结果rdoc 如果您的项目没有README.md,GitHub可能会解析README.rdoc以显示详细信息。如果两者都有,它将使用README.md,默默地忽略rdoc。我通常都有

array.index(y)在Ruby中未给出预期结果

由于某些原因,指数(y)和x给出了奇怪的答案 def stockpicker prices profits, buyday, sellday = 0, 0, 0 i=0 while i <= prices.length y = i + 1 while y <= prices.length if prices[y].to_i - prices[i].to_i > profits

Ruby 执行相同的代码块(产量)

如何确保该方法执行一次。如果将方法A作为块插入方法Ai内部,则不执行辅助方法。大概是这样的: def a puts "|start|" yield puts "|end|" end a do a { "|test_one|" } a { "|test_two|" } end => "|start||test_one||test_two||end|" => "|start|test_one|start|end|test_two|end|" 不是这样的: de

Ruby IIS 8上的Rails 4是否具有HTTP平台处理程序?

有人有过微软IIS扩展的经验吗?我在几个月前写了以下内容,并安装了Ruby on Rails: C:\> ruby -v ruby 2.1.5p273 (2014-11-13 revision 48405) [i386-mingw32] C:\> rails -v Rails 4.1.2 Rails从以下提示符在端口3000处启动并正常运行: C:\> rails s => Booting WEBrick => Rails 4.2.1 application s

Ruby中.next和.succ的区别

Ruby中的Fixnum方法.next和.succ有什么区别? 它的工作原理似乎是一样的: 1.next => 2 1.succ => 2 如果有什么不同,为什么有两种方法是相同的?它们是等效的Fixnum#succ只是Fixnum#next的同义词 他们甚至在同一个街区内。但为什么?ruby中存在冗余方法有什么历史原因吗?在我看来,这种冗余不适合ruby这样优雅而简单的语言,因为它很容易记住?在不同的类/模块中还有许多其他类/模块:map和collect包括?和有_键大小

Ruby Rake任务依赖于其他Rake任务

我有为Git提供功能的rake任务。我希望能够调用rake git:pull,它应该能够识别目录@source\u dir不存在,然后在尝试git:pull之前,它将调用git:clone。是否可以将这种依赖关系添加到我的任务中 namespace :git do desc "Download and create a copy of code from git server" task :clone do puts 'Cloning repository'.pink s

带有X509证书的Ruby SOAP响应未通过XML SignatureValue验证

我已经阅读了很多与XML签名相关的内容,这是一个痛苦的世界,就像今天一样 我能够向远程WSDL()发出SOAP请求,并且我还应该验证它们的响应(当然!),但是我似乎不知道如何正确地验证XML SignatureValue 我也无法使用openssl(openssl 0.9.8zg,2015年7月14日)在终端(MAC OSX 10.11.1)上验证此签名,尽管我对我的文件输入和命令是否100%正确以给出肯定结果信心不足 向我提供公共证书的实体向我保证这是正确的,因此那里没有运气。我还创建了一个S

Ruby 移植PHP迭代函数,使用;“静态”;红宝石

我正在寻找在Ruby中实现最初来自PHP类的方法的最佳方法。该方法使用PHP的“static”关键字创建一个计数器,该计数器可以记住上次调用函数时的值 function fetchRule() { static $index = 0; $ret = null; if(isset($this->rules[$index])) { $ret = $this->rules[$index]; } $index = $ret ==

Ruby 如何从后端类的前端内部访问params[:name]

如何访问我的会话[:name],该会话位于我的Sinatra应用程序的前端,在后端的类中?我想这样做,这样我就可以将我的所有消息(人们都在说)存储在一个类中,以便能够快速更改我的后端消息,这样我就可以在需要时更改它,而不必在整个前端进行转换,在那里对它们进行编码 以下是前端部分: post '/startgames' do play = params[:playgame] session[:name] = params[:name] session[:age] = params[:

使用Ruby替换文件中的特定行

我有一个文本文件(a.txt),如下所示 open close open open close open 我需要找到一种方法,用“关闭”替换第三行。我做了一些搜索,大多数方法都是搜索行而不是替换行。因为我不想把所有的“打开”都变成“关闭”,所以我不能在这里这么做 基本上(在本例中),我正在寻找IO.readlines(“./a.txt”)[2]的写版本。类似这样的东西怎么样: lines = File.readlines('file') lines[2] = 'close' <<

Ruby Rspec测试未能显示模型需要电子邮件

我(主要)遵循一个教程,试图编写一个测试,显示我的用户模型需要电子邮件: 17 it "requires an email" do 18 user = FactoryGirl.create(:user, email: nil) 19 expect( user ).to_not be_valid 20 end 但这失败了。。。因为我的用户模型需要电子邮件 Failures: 1) User requires an email Failure/Err

Ruby 通过水豚关上窗户

我正在尝试为水豚自动化启动浏览器。浏览器正在自动填充“错误窗口”(非浏览器窗口) 我需要在窗口上“关闭/单击确定”以打开浏览器。我试图用“AutoIT”可执行文件处理这个弹出窗口。当我手动运行AutoIT文件时,可执行文件会成功地处理它 我无法通过水豚脚本执行。代码如下 ses = Capybara::Session.new(:selenium) IO.popen('c:\ruby\handler.exe') #- Tried this step to execute AutoIT .exe f

Ruby:返回vs put

我使用return和put有以下两种方法 方法1: def method array array.each do |n| v = n * n return n if v.even? end end puts method [1, 2, 3, 4] #=> 2 方法2: def method array array.each do |n| v = n * n puts n if v.even? end end

Ruby GUI是否未实现方法调用?

我正在尝试构建一个shoes应用程序,但由于某种原因,我在类实例上调用的方法(print_语句)没有执行任何操作。我可以看到该实例已经在shoes应用程序中创建(内部的方法已准备就绪),但是当我调用该方法时,似乎什么都没有发生(它在IRB中工作正常) 鞋码: `flow(margin: 15) do button "Print Statement" do @statement = Statement.new(@account)

将XML分配给Ruby类出错

我将XPath搜索的结果分配给Ruby对象,但该对象似乎可以访问整个原始文档,而不仅仅是我分配给它的内容 这是我所经历的一个简化示例: <message> <person> <name>Joe</name> <organs> <heart>yes</heart> <lungs>yes</lungs> <ears>ye

在ruby中处理ARGF.read

我在ubuntu上的ruby程序中使用了以下几行代码: data=ARGF.read if data.length != 0 ..... end 当我以“cat file.txt | ruby test.rb”的身份运行时,程序运行正常,但我无法处理以下问题: 当作为“cat | ruby test.rb”运行时,程序将进入无休止的循环 当作为“ruby test.rb”运行时,程序进入无休止的循环 当以“cat file1.txt | ruby test.rb”运行时,程序

在Ruby中使用shell命令发送邮件

我正在尝试在ruby脚本中使用shell命令发送电子邮件。 我使用命令 %x{echo "sometext" | mail -s "Account report #{file_tmp}" -a /home/linux/reports/#{file} #{address[0]}} 我得到 未指定主收件人的发送选项。用法:邮寄 -eiIUdEFntBDNHRVv~-T文件-u用户-h跃点-r地址-s主题-a文件-q文件-f文件-a帐户-b用户-c用户-s选项用户sh: 第2行:发送_report@

Ruby 从降价文件中排序前件

我对jekyll还比较陌生,但我真的很喜欢你能用它做的事情,以及部署的速度 因此,我的站点由siteleaf管理并部署到github页面。现在,我正在制作展示我过去项目的页面,我需要能够创建动态内容-能够添加多个同名元字段,即多个名为center\u image或text\u block的字段,我可以根据它们在创建页面的管理面板/标记文件中的排序顺序来显示这些字段。这是我到目前为止编写的代码,它当前正确地显示了内容,但它不允许我使用1。对同一元字段或2进行多次迭代。动态排序内容 {% for p

Ruby 合并结果时SimpleCov报告100%覆盖率

我有一个包含许多子项目的ruby项目。每个子项目运行simplecov,根项目文件夹运行一个rakefile,以生成所有子项目的总覆盖率报告。问题是,它显示了上次运行的正确覆盖率,之前的所有其他运行都显示为100%。有人知道如何解决这个问题吗 子项目覆盖率(/root/plugin1/tests/plugin/test.rb): 在根rakefile(/root/)中: 它在root(/root/coverage)中创建一个coverage文件夹。 我是从以下几点开始的: SimpleCov.s

Ruby [黄瓜]鲁比有奇怪的行为

我发现自己无法解释的奇怪行为。看起来,如果同时使用Cucumber和常量,Ruby将在场景之间保存局部变量。 在Cucumber test.feature文件中,我有如下步骤 Feature: Test Scenario Outline: Test outline Given Set data |user_id |hash | |<user_id>|<hash>| Examples: |user_id

如何正确使用Ruby Tk模块?

我目前正在尝试使用Tk模块在Ruby中创建一个基本的GUI应用程序。每当我试图要求模块时(如tk或tcltklib),我会得到以下加载错误: LoadError (126: The specified module could not be found. - C:/Ruby25/lib/ruby/gems/2.5.0/gems/tk-0.2.0/lib/tcltklib.so) 目前,我有: 从安装了Tcl(ActiveTcl),特别是针对Windows(x86)的8.5.18.0版本 安

  1    2   3   4   5   6  ... 下一页 最后一页 共 1276 页