如果我有一个基本的windows xp系统、ruby和一个ms access 2007文件(比如c:/foo/bar.accdb),那么读取该.accdb文件的侵入性最小的方法是什么
xp系统上需要安装什么
什么是特定的连接字符串
您可以通过Ruby的win32ole库使用ADO
可以找到完整的详细信息和代码。如果可以使用ADO,则可以找到已安装在Windows XP设备上的ADO库(否则,请分发MDAC)。然后,您只需要ACE DLL及其OLE DB提供程序,可从Microsoft下载中心免
假设我有这个样本:
page = "<html><body><h1 class='foo'></h1><p class='foo'>hello people<a href='http://'>hello world</a></p></body></html>"
@nodes = []
Nokogiri::HTML(page).traverse do |n|
我正在尝试从TeamCity下载最后一个成功的构建,作为rake部署脚本的一部分。该文件是8mb的zip文件,我使用url通过http访问:
如果我在Firefox中打开该url,zip文件将在1-2秒内下载。基本上是即时的
然而,这需要时间
1) 我尝试使用ruby HTTP:Net库。这大约需要1分钟,有时会失败。我在1.8.6中读到这个lib不是很快,所以决定继续
2) 我试过wget,所以可以看到进展。它在大约一秒钟内达到6mb,然后就挂起了。然后一分钟后突然完成
3) 我试着用Fid
我的宝石目前取决于。我有
我正在与(一个提供类似于FakeWeb功能的库)的作者合作,让VCR也与WebMock一起工作,这样VCR的用户可以使用FakeWeb或WebMock作为http存根库
在发布下一版本VCR时,我不确定处理这些依赖关系的最佳方法。VCR将依赖于WebMock或FakeWeb(但不需要两者),并且对两者都有特定的版本要求。我可以将两者作为依赖项添加到gemspec中,但当您使用时,它会捆绑所有gem依赖项——因此FakeWeb和Webmock都会与应用程序捆绑在一起
我一
标签: Ruby
rubygemsnokogiri
我是编程新手,请容忍我。我有一个如下所示的XML文档:
文件名:PRIDE1542.xml
<ExperimentCollection version="2.1">
<Experiment>
<ExperimentAccession>1015</ExperimentAccession>
<Title>**Protein complexes in Saccharomyces cerevisiae (GPM066000023
我使用Capistrano来处理部署,在我的设置中有两个不同的角色:web和:processing。它们都有通常的:deploy任务,但是:restart任务对于这两种类型的服务器需要不同
所以我的第一次尝试是这样的:
task :restart, :roles => :web do
run "... web related restart stuff ..."
end
task :restart, :roles => :processing do
run "...
我在不同网络上的几台机器上都试过,都运行ruby 1.8.7,经过长时间的等待,我得到了相同的结果
Net::HTTP.get(URI.parse('https://encrypted.google.com/'))
Timeout::Error: execution expired
但是HTTP工作得很好
Net::HTTP.get(URI.parse('http://www.google.com/'))
在初始超时之后,我得到了一个eoferor
EOFError: end of
如何使此代码看起来更好:
<%=raw manuscript.uploaded_to_s3? ? "<span style=\"color:green;\">" : "<span style=\"color:red;\">" %>
也就是说,HTML是否可以跳出ERB块,使其更易于阅读?
<span style="color:<%= manuscript.uploaded_to_s3? ? 'green' : 'red' %>">
我正在Ruby(在Sinatra上)中使用xml映射来处理一些xml内容。通常我遵循以下教程:。我可以使用
login.save_to_xml.to_s
但是当我尝试的时候
login = Login.load_from_xml(xml_string)
我得到以下错误:
XML::MappingError - no value, and no default value: Attribute username not set (XXPathError: path not found: use
如何使用REXML获取节点的直接父节点?root_node()获取文档的父节点,但我只需要当前节点的父节点。需要“rexml/document”
require "rexml/document"
string = "
<root>
<a>
<b>
test
</b>
</a>
</root>"
doc = REXML::Document.new string
今天我面临一个奇怪的问题:
模块上出现“缺少方法”错误,但该方法存在,并且需要定义模块的文件。经过一些搜索之后,我发现了一个循环依赖项,其中两个文件相互需要,现在我假设ruby以静默方式中止循环需要
编辑开始:示例
文件“a.rb”:
require './b.rb'
module A
def self.do_something
puts 'doing..'
end
end
文件“b.rb”:
require './a.rb'
module B
d
标签: Ruby
mechanizemechanize-ruby
我需要调整Mechanize实例与API连接的频率(每2秒一次,因此将连接限制为该频率或更多)
因此:
instance.pre_connect_hooks << Proc.new { sleep 2 }
instance.pre\u connect\u hooks每次连接都会调用pre和post connect hooks,因此如果存在重定向,它可能会为一个请求触发多次。尝试添加仅调用一次的历史记录:
instance.history_added = Proc.new {slee
我刚接触Ruby,正在努力理解我编写的这段代码中发生了什么。为什么我必须声明两个变量|x,y |,才能得到我期望的输出?我只使用了x,而y总是显示为nil。但当我更改为|x |时,我的字数总是0(请参见下面的代码和输出)。感谢您提供的任何见解
def count_words(string)
string.downcase!
wordhash = Hash.new
# what is going on here?
# Why do I have to have two
我是编程新手,ruby是我第一次真正使用它。我有块,但proc看起来像一个简单的方法/函数概念——为什么要使用它们?为什么不使用一种方法呢
谢谢您的帮助。Proc是一段可调用的代码。您可以将其存储在变量中,作为参数传递,或者将其视为参数
为什么不使用一种方法呢
这取决于你这里所说的“方法”是什么意思
在这个代码段中,方法bar的使用非常有限。你可以叫它,就这样。但是,如果要存储对它的引用(传递到其他地方并在那里调用它),可以执行以下操作:
f = Foo.new
bar_method = f.m
我对ruby是新手。这是一段来自ruby网站的代码
我在菜单中找不到什么“链接”和“列表”关键字。
有人能解释一下这两个关键词吗?这两个关键词的定义在哪里
我也很困惑他们是如何读取变量名称和url的,他们是通过同一行的空格来读取的还是什么?
所以如果我有
漫画网站的链接
漫画2链接\u漫画网站\u 2
漫画3网站链接
因此,对于第一次迭代,name=Comics1,url=link\u of\uComics\uSite\u1
谢谢。这不仅仅是Ruby。这是一个使用ruby插件方法生成HTML的网
我正在使用sinatra、ruby和MongoDB从MongoDB导出CSV文件。我能够创建CSV文件并将其导出。
我在导出文件后将其删除。
但只有在我退出sinatra后它才会被删除。
有人能解释为什么会这样吗?
假设创建了一个文件abc****.csv。
我正在使用删除此文件
file_path = '/home/Test_app';
file = Tempfile.new([@@uname,'.csv'],file_path);
file_name = file.path();
pu
当我安装另一个gem时,如何知道为什么要安装某个gem
也就是说,有没有一种简单的方法可以找出依赖关系的来源?gem安装失败,因此gem依赖项不起作用,因为它只处理已安装的gem。这就是为什么我想追踪依赖关系,它破坏了安装,而且似乎没有必要
是否有工具可以帮助跟踪尚未安装的gem之间的依赖关系?也许是一个打印依赖关系树的秘密bundlerswitch
更新他们刚刚发布了一个新版本的twitter引导rails,消除了这个问题。尽管如此,如果有一种方法可以跟踪已卸载gem的依赖关系图,这将非常有用
我使用jekyll--server在本地主机上测试我的站点。
但有几行输入,如下所示:
Blah blah \[url\] blah blah.
___________________________________________________________________________
|Maruku告诉你:
+---------------------------------------------------------------------------
|读取时字符串已完成(
如何从一个范围返回天数和小时的数组?到目前为止,我已经尝试:
(48.hours.ago..Time.now.utc).map { |time| { :hour => time.hour } }.uniq
返回:
[{:hour=>1}, {:hour=>2}, {:hour=>3}, {:hour=>4}, {:hour=>5}, {:hour=>6}, {:hour=>7}, {:hour=>8}, {:hour=>9}, {:h
标签: Ruby
catmull-rom-curve
我有一个点的列表,我想在它们之间画一条平滑的线。我正在使用RVG库进行绘图,因此如果我能从我的观点中获得SVG字符串,我会很高兴。四处搜索,发现Catmull Rom可能就是要使用的算法
在Kamelopard和Rubyvis库中找到了一些实现,但从我的要点列表中无法理解如何使用它们
因此,问题是,如何获取(x,y)点的数组,并从中获得Catmull Rom插值SVG曲线?Catmull Rom可能是一个很好的起点。我最近重新实现了Kamelopard版本,发现这很有帮助:
只要你理解矩阵乘法,
我正在阅读一个JSON,如下所示:
[
{
"Low": 8.63,
"Volume": 14211900,
"Date": "2012-10-26",
"High": 8.79,
"Close": 8.65,
"Adj Close": 8.65,
"Open": 8.7
},
{
"Low": 8.65,
"Volume": 12167500,
"Date": "2012-10-25",
"Hi
我刚刚在Ubuntu上成功安装了Ruby 1.9.3,但是当我安装Ruby-v时,我仍然得到了旧的Ruby。我的安装:
./configure
make
make install
一切看起来都很顺利,但仍然没有Ruby 1.9.3。我需要做些额外的事情吗。我在/etc中找不到任何要配置的Ruby配置文件,在/usr/bin中只能找到一个旧的Ruby 1.9.1。我在我的主目录中进行了安装。我强烈建议使用来管理您的Ruby安装,而不是从源代码进行安装。我强烈建议使用来管理您的Ruby安装,而不
我真是莫名其妙。。(也很沮丧……)
出于某种原因,guard不会检测osx上的文件更新,而只检测某些文件。这几乎就像watch函数中定义的regexp不起作用或是其他什么
我已经创建了一个全新的rails应用程序,用于跟随Ryans guard railscast四处闲逛--
并具有由生成的默认guardfile
guard init spec
看起来像这样
# A sample Guardfile
# More info at https://github.com/guard/guard#
我想切换文件的扩展名。例如:
test\u dir/test\u file.jpg至.txt应给出test\u dir/test\u file.txt
我还希望解决方案能够处理具有两个扩展名的文件
test\u dir/test\u file.ext1.jpg到.txt应该给出test\u dir/test\u file.ext1.txt
类似地,对于没有扩展名的文件,它应该只添加扩展名
test\u dir/test\u file至.txt应给出test\u dir/test\u file.t
我正在尝试测试一个create方法,该方法调用了一个外部API,但是我在模拟外部API请求时遇到了问题。以下是我的设置和我迄今为止的尝试:
class Update
def self.create(properties)
update = Update.new(properties)
begin
my_file = StoreClient::File.get(properties["id"])
update.filename = my_file.fi
嗨,我正在看一个ruby测验解决方案(http://rubyquiz.com/quiz76.html)这对我来说是有意义的,但我很难理解为什么在munge_word中没有一个self或任何类型的接收器来接收方法shift、pop、scramble:
class Array
def munge_each
map { |word| word.split(//).munge_word }
end
def munge_word
first, last, middle = s
我正在使用ruby gem从Twitter检索状态
我以这种方式组合过滤器参数:
TweetStream::Client.new.filter({:track => ['bbc'], :locations=> '-2.0,50,1,52' } ) do |tweet|
p tweet.inspect
end
这将创建一个流,该流是两个参数的并集(边界框内的所有tweet,以及包含术语“bbc”的所有tweet)
任何人都不知道如何创建多个过滤器参数相交的流。在这种情况下,每条t
我和nokogiri有问题。假设我有这个HTML
<html>
<p>
This is just an example, how to remove the next sentence using nokogiri in Ruby.
Thank you for your help.
<strong> XXXX </strong>
<br/>
标签: Ruby
cartesian-product
摘要
给定一个散列,其中一些值是数组,如何获得所有可能组合的散列数组
测试用例
options = { a:[1,2], b:[3,4], c:5 }
p options.self_product
#=> [{:a=>1, :b=>3, :c=>5},
#=> {:a=>1, :b=>4, :c=>5},
#=> {:a=>2, :b=>3, :c=>5},
#=> {:a=>2, :b=>4,
我正在浏览博客:
重要的是要注意,您应该在gem的根文件中显式地要求依赖gem。假设您的gem名为my_cool_gem,那么您应该在lib文件夹中创建my_cool_gem.rb。如果gem依赖于强_参数,则需要添加以下行:
作者没有提到为什么需要在根文件中显式地包含依赖的gem。有人能解释一下为什么需要这样做吗?这样更干净。如果您在分散在整个gem中的各种文件中有require语句,该怎么办?如果很容易看到所有的依赖项,那就太糟糕了。这句话:
重要的是要注意,你应该要求你的从属宝石
显式地在
关于ruby,我有一个很蹩脚的问题。我有以下代码:
@node = Node.find(params[:id])
@similar_nodes = Tire.search 'nodes', load: true do
query do
fuzzy_like_this @node.title
end
end
问题是,由于某种原因,我无法访问模糊中的@node变量,就像这一行一样。它返回nil,即使已找到节点,并且我可以在第二行中访问它。你能给我一些建议吗?为什么
我正在学习如何在ruby中使用数据结构
我在github上找到了此库:
我在本地创建了一个word_count.rb文件。
我想在ruby类文件中本地使用我提到的库
我提到的链接有以下项目结构:
如何在类文件中使用此项目 它是作为gem发布的(只是您找到的页面没有记录这一事实):
因此,如果项目中有一个Gemfile,请添加以下行:
gem "algorithms", "~> 0.6.1"
否则,请运行以下命令:
gem install algorithms
像使用任何其他宝石一样使
我使用的是Ruby 2,在上面的代码中,放置data.read会导致CSV.parse块不被执行。移除它,一切都很好。发生了什么事?数据。read不会将数据更改为csv字符串。您只需将data.read的结果传递到CSV.parse。或者您可以直接将open(url)传递到CSV.parse
require 'csv'
require 'open-uri'
url = 'http://www.census.gov/popest/data/national/totals/2005/files/N
我有一个逐行列出的文件:
first.last@example.com
first.last@example.com
last@example.com...
请注意,有些地址没有名字,在这种情况下,它只是姓
如何编写一个简单的Ruby脚本来读取此文件(称之为email.txt)
然后按姓氏排序将其写回文件?将其放入文件中,例如,按姓氏排序.rb:
puts IO.readlines('email.txt').sort_by { |e| e.match(/[^\.]+(?=@)/)[0].dow
我需要添加功能来输出字符串所在的整行。这是我到目前为止一直在使用的代码
if type == "asa"
if File.readlines(file).grep(/http server enabled/).any?
$httpserver_failures.push(file)
out.puts "FAILED: does have http enabled"
else
$httpserver_passes.push(file)
我使用块来创建这样的值
some_block = BlockClass.new {|b|
b.one = 1
b.two = 2
b.three = 3
}
这里是BlockClass
class BlockClass
attr_accessor :one
attr_accessor :two
attr_accessor :three
def initialize
yield self if block_given?
end
end
我需要一种
我试图得到一个散列数组(称为散列),然后根据输入行中的一个单词是否在某些数组中,用布尔值填充该数组。为了更好地理解这一点,我将获取一行输入,并对其进行扫描,以查看该输入中的单词是否在我设置的一系列数组中
11: for i in words
12: if nouns.include?(words[i])
13: hashes[i][:nouns] = true
14: end
15:
16: if adjectives.include?(words[i])
17
我试图在irb中使用HttpParty来测试API调用,但我一直得到401。尝试使用Postman Chrome插件对相同的URL和相同的标题信息执行get,效果很好——有什么想法吗
irb> HTTParty.get("https://developer.fingercheck.com/api/v1/Employees/GetAllEmployees",
:headers => {"APIKEY" => "ABCD1234-1234-ABC
下面是一些简单的Ruby代码:
class Foo
def initialize(args)
@data = args[:data]
end
def perform
quit_if_no_data
print_message
end
def quit_if_no_data
return unless @data
end
def print_message
puts "You've got the data, congrat
我对ruby很陌生,事实上我今天刚读过。但是我需要在Ruby中快速执行一些操作,假设我有一个字符串ABC=180000。我想做的是删除最后两个字符,使其成为字符串的8个字符,因此上面的case结果应该是00001800
如果字符串ABC=AA000,则最终结果为00000 AA0
你们能告诉我怎么快点吗
非常感谢 从手机发送时未经测试:
"180000"[0...-2].rjust 8,"0"
查看文档:使用此
a = "AAA000"
puts a[0..-3].rjust(8,"0")
我正在使用Ruby 2.2.3中的gem,它工作得很好,但是它可以告诉我两次之间的差异,但不能告诉我这个差异是正的还是负的
irb(main):001:0> require 'time_difference'
=> true
irb(main):002:0> t1 = "11:30"
=> "11:30"
irb(main):003:0> t2 = "11:20"
=> "11:20"
irb(main):004:0> TimeDifference.be
我正在尝试使用Logstash从多个供应商收集多个客户的销售数据
到目前为止,我有一个S3(收件箱)存储桶,我可以将文件(当前为CSV)放入其中,并根据文件上的客户机代码前缀,将数据推送到每个客户机的弹性索引中。这一切都很好
我的问题是,我有来自多个供应商的数据,需要一种方法来识别哪个文件来自哪个供应商。向CSV添加一个额外的列不是一个选项,因此我的计划是将其添加到文件名中,因此我最终会使用类似于clientcode\u vendorcode\u reportdate.CSV的文件命名约定
我可
在下面的代码和控制台输出中,似乎一切都很好,但最后输出的格式看起来很糟糕;每次调用一个值时,它都会在后面换行
代码:
puts "Please enter your name: "
name = gets
puts "Please enter your age: "
age = gets
puts "Please enter the name of your favourite movie: "
movie = gets
puts "Please rate this movie out of 1
我想确定是否可以通过连接一组子字符串中的任何一个来创建给定的字符串。作为一个具体的例子,我想根据regexsg | ge | ne | n | s匹配的部分来拆分字符串。答案是“s”,“ge”,“ne”,因为这三个部分是如何将字符串从正则表达式(所需的子字符串集)分解为多个部分的
Go有regexp.(*regexp).FindAllString,Ruby有regexp.scan来实现这一点。在我的代码中,由于正则表达式重叠,无论我是在超级字符串之前还是之后对子字符串排序,都会丢失一个匹配
下
我对ruby很陌生。我能够使用ruby连接到AWS S3。我正在使用以下代码
filePath = '/TMEventLogs/stable/DeviceWiFi/20160803/1.0/20160803063600-2f9aa901-2ce7-4932-aafd-f7286cdb9871.csv'
s3.get_object({bucket: "analyticspoc", key:"TMEventLogs/stable/DeviceWiFi/20160803/1.0/"}
有没有办法通过chruby选择默认的系统范围ruby
例如:
如果要更改回默认系统ruby,只需使用:
chruby system
如果您安装了多个系统ruby(例如/usr/bin/ruby和/usr/local/bin/ruby),并且希望使用与哪个ruby列出的不同的系统,您可以:
export RUBIES+=(/usr/local)
然后chruby将usr/local列为ruby的“版本”
对于一般情况(路径中可能有多个红宝石),将以下内容添加到shell启动中:
export
标签: Ruby
string-formatting
考虑到这段Ruby代码:
format_string = "%{greeting}, %{name}"
puts format_string %{greeting: "Hi", name: "John"} # <-- returns "Hi, John"
puts format_string # <-- returns "%{greeting}, %{name}"
puts format_string %{gre
我在使用Ruby的StringIO类时观察到一些非常奇怪的行为
在irb控制台中键入以下内容:
2.3.0 :002 > original_string = 'test'
=> "test"
2.3.0 :003 > original_string.encoding
=> #<Encoding:UTF-8>
原来的字符串编码已被修改为ASCII!这是预期的行为吗?构造StringIO对象StringIO.new(original\u string.f
这是一个问题,他们要求我添加额外的if语句,以便在用户未输入任何内容时重新提示用户输入
我曾尝试使用while循环,但仍然无法解决问题
print "please enter a sentence with a letter s"
while user_input = gets.chomp.downcase!
case user_input
when user_input.include? "s"
user_input.gsub(/s/,"th")
print "Da
我想在第一个元音之前提取字符串中的所有辅音,理想情况下不使用正则表达式。例如,如果我有单词truck,我想提取“tr”,对于“street”,我想提取“str”
我尝试了以下操作,但收到错误执行元音块的参数数量错误(给定0,预期为1)。
有人能解释错误在哪里,或者建议一种更简单的方法吗
vowels = ["a", "e", "i", "o", "u"]
def vowels(words)
letters = words.split("")
consonants = []
lett
1 2 3 4 5 6 ...
下一页 最后一页 共 1273 页