小编Phr*_*ogz的帖子

使用Nokogiri保留换行符

我在Rails 3应用程序中使用Nokogiri.它忽略了

<br/> 
Run Code Online (Sandbox Code Playgroud)

标签.我想用","替换这些标签,因为它们代表地址中的换行符.我该怎么做呢?我尝试了以下,似乎没有帮助:

  doc.inner_html.gsub!("<br/>", ", ")
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails nokogiri

2
推荐指数
1
解决办法
2547
查看次数

在子目录的文件中搜索字符串

我需要找到所有包含<some_word>. 有 MAIN 目录,我们必须在那里搜索,并且可以有文件和其他目录(带有文件)。它必须进入一个目录 - 检查那里的所有文件<some_word>,返回主目录 - 进入另一个目录 - 检查那里的所有文件,返回主目录......等等。我没有问题,当主目录中只有文件时......但不知道如何使用目录制作它......请帮助我。

ruby string directory search file

2
推荐指数
1
解决办法
1483
查看次数

使用自定义属性的迭代和迭代数组的长度

var profileDataCalls = [];

profileDataCalls['Profile'] = GetUserAttributesWithDataByGroup;
profileDataCalls['Address'] = GetUserAddresses;
profileDataCalls['Phone'] = GetUserPhoneNumbers;
profileDataCalls['Certs'] = GetUserCertifications;
profileDataCalls['Licenses'] = GetUserLicenses;
profileDataCalls['Notes'] = GetUserNotes;
Run Code Online (Sandbox Code Playgroud)

我的问题是上面的JavaScript数组只有0的长度.我需要一个可以迭代的数组并保存键(字符串)和值?

javascript arrays

2
推荐指数
1
解决办法
636
查看次数

判断两个表是否有相同的键集

我将 Lua 表用作集合,将集合的值放入表键中并1作为表值,例如

function addToSet(s,...)      for _,e in ipairs{...} do s[e]=1   end end
function removeFromSet(s,...) for _,e in ipairs{...} do s[e]=nil end end

local logics = {}
addToSet(logics,true,false,"maybe")
Run Code Online (Sandbox Code Playgroud)

为了测试两组是否相等,我需要确保它们具有完全相同的键。什么是有效的方法来做到这一点?

performance lua set

2
推荐指数
1
解决办法
199
查看次数

将int数组映射到嵌套数组访问

有没有办法使用索引自动存储在数组中来动态访问嵌套数组?

主阵列/矩阵嵌套可以是变量,例如2,4,100.

例:

my_array = [
  [[1,  2], [3,   4]],
  [[5,  6], [7,   8]],
  [[9, 10], [11, 12]]
]

my_array.access_using_array([0, 1, 1])
  => 4
Run Code Online (Sandbox Code Playgroud)

ruby

2
推荐指数
1
解决办法
208
查看次数

如何使用nokogiri打印所有非空白XML节点的值及其标记名称?

这是我的sample.xml:

<?xml version="1.0" encoding="utf-8"?>
<ShipmentRequest>
   <Message>
      <Header>
      <MemberId>MID-0000001</MemberId>    
      <MemberName>Bruce</MemberName>
      <DeliveryId>0000001</DeliveryId>
      <OrderNumber>ON-000000001</OrderNumber>
      <ShipToName>Alan</ShipToName>
      <ShipToZip>123-4567</ShipToZip>
      <ShipToStreet>West</ShipToStreet>
      <ShipToCity>Seatle</ShipToCity>
       <Payments>
        <PayType>Credit Card</PayType>
        <Amount>20</Amount>
      </Payments>
      <Payments>
        <PayType>Points</PayType>
        <Amount>22</Amount>
      </Payments>
      <PayType />
      </Header>
    <Line>
      <LineNumber>3.1</LineNumber>
      <ItemId>A-0000001</ItemId>
      <Description>Apple</Description>
      <Quantity>2</Quantity>
      <UnitCost>5</UnitCost>
    </Line>
    <Line>
      <LineNumber>4.1</LineNumber>
      <ItemId>P-0000001</ItemId>
      <Description>Peach</Description>
      <Quantity>4</Quantity>
      <UnitCost>6</UnitCost>
    </Line>
    <Line>
      <LineNumber>5.1</LineNumber>
      <ItemId>O-0000001</ItemId>
      <Description>Orange</Description>
      <Quantity>2</Quantity>
      <UnitCost>4</UnitCost>
    </Line>
  </Message>
</ShipmentRequest>
Run Code Online (Sandbox Code Playgroud)

还有我的sample.rb:

#!/usr/bin/ruby -w

require 'nokogiri'

doc = Nokogiri::XML(open("sample.xml"))
doc.xpath("//ShipmentRequest").each {
  |node| puts node.text
}
Run Code Online (Sandbox Code Playgroud)

结果我得到:

MID-0000001    
Bruce
0000001
ON-000000001
Alan
123-4567
West
Seatle

Credit Card
20


Points
22




3.1
A-0000001 …
Run Code Online (Sandbox Code Playgroud)

ruby xpath nokogiri xml-parsing

2
推荐指数
1
解决办法
1839
查看次数

迭代数组内的整数数字

我有以下代码:

 a = [435,276,434]

 def product(a)
   final = 1
   for e in a
     for p in a[e]
       final*=p
     end
   end
   final
 end

 puts product(a)
Run Code Online (Sandbox Code Playgroud)

我想知道如何迭代这个数组两次,结果是4*3*5 = 60,2*7*6 = 85,和4*3*4 = 48

我在上面编写了一些代码,我认为这样可以解决这个问题,但是Ruby一直在返回错误.

ruby arrays loops

2
推荐指数
1
解决办法
907
查看次数

考虑单个哈希键值合并哈希数组

我有一系列像这样的哈希.

[
 {"package_details"=>{"name"=>"Package3", "price"=>3000.0, "id"=>"281"},"event_id"=>336},
 {"package_details"=>{"name"=>"2000/-", "price"=>2000.0, "id"=>"280"}, "event_id"=>337}, 
 {"package_details"=>{"name"=>"Package1", "price"=>1000.0, "id"=>"282"},"event_id"=>337},
 {"package_details"=>{"name"=>"Package2", "price"=>2000.0, "id"=>"283"},"event_id"=>337}
]
Run Code Online (Sandbox Code Playgroud)

我希望这就像这样.

[
  {"event_id"=>336, "package_details"=>[
    {"name"=>"Package3", "price"=>3000.0, "id"=>"281"}
  ]},
  {"event_id"=>337, "package_details"=>[
    {"name"=>"2000/-", "price"=>2000.0, "id"=>"280"},
    {"name"=>"Package1", "price"=>1000.0, "id"=>"282"},
    {"name"=>"Package2", "price"=>2000.0, "id"=>"283"}
  ]},
]
Run Code Online (Sandbox Code Playgroud)

哈希应该根据相等的event_id值进行合并,并且事件可以包含许多包.

我想知道最简单的方法.虽然我可以做很多if和else s.

ruby

1
推荐指数
1
解决办法
1519
查看次数

在表单中乘以两个值

对于我的代码,我试图将2个参数调用到函数中.离开第二个输入框后,将两个数字相乘并将其放在第三个文本框中.如果前两个输入框中的任何一个为空,则将它们涂成浅红色.到目前为止这是我的代码,我错过了什么?

使用Javascript:

function multiply(one, two) {
if(one==""){
this.style.color='red';
}
if(two==""){
this.style.color='red';
}
else{
txt1=one * two;
return txt1;
}

}
Run Code Online (Sandbox Code Playgroud)

HTML5:

First Value: <input type="text" name="mFirst" />
Second Value: <input type="text" name="mLast" onblur="multiply(mFirst.value, mLast.value)" />
Multiplication of First and Second Value: <input type="text" name="answer">
Run Code Online (Sandbox Code Playgroud)

html javascript html5

1
推荐指数
1
解决办法
6806
查看次数

\ w +如何选择整个单词?

在一个简单的正则表达式中,我理解这一点

\w
Run Code Online (Sandbox Code Playgroud)

给出一个单词字符; 但是,我不知道如何添加加号(+):

\w+
Run Code Online (Sandbox Code Playgroud)

选择整个单词.在我看来,加号只意味着一个或多个单词字符,所以我不明白它将如何扩展到整个单词.

regex

1
推荐指数
1
解决办法
124
查看次数