小编fbo*_*tti的帖子

Ruby 2.0.0p0 IRB警告:"DL已被弃用,请使用Fiddle"

我刚卸载了旧版本的Ruby,删除了所有宝石(包括Rails),并安装了Ruby 2.0.换句话说,一个完全干净的重新安装.启动IRB后,我收到了以下消息:

DL is deprecated, please use Fiddle

注意:我在Windows机器上.

这条消息是什么意思?

ruby windows

196
推荐指数
2
解决办法
15万
查看次数

简单的jQuery选择器只选择Chrome中的第一个元素..?

我对jQuery有点新意,请原谅我密集.我想<td>通过Chrome的JS控制台选择特定页面上的所有元素:

$('td')
Run Code Online (Sandbox Code Playgroud)

然而,当我这样做时,我得到以下输出:

<td>Apples</td>
Run Code Online (Sandbox Code Playgroud)

是不是jQuery应该返回带有<td>标记的元素数组?为什么我只看到符合此标准的第一个元素?

这是有问题的网站:http://www.w3schools.com/html/html_tables.asp

编辑:我想补充一点,当我在Chrome控制台中输入一个jQuery函数时,我没有得到一个jQuery对象.我得到一个简单的HTML元素.我的Chrome设置/配置方式肯定有问题.

jquery google-chrome web-scraping

46
推荐指数
2
解决办法
2万
查看次数

按空格分割字符串但保留\n - Ruby

我有一个ruby文件,它使用读取文件并将文本拆分为数组split(' ').问题是这些文本文件包含换行符,我想保留这些换行符.例如,如果我运行以下代码

"Lorem ipsum\ndolor sit amet".split(' ')
Run Code Online (Sandbox Code Playgroud)

我得到了输出

["Lorem", "ipsum", "dolor", "sit", "amet"]
Run Code Online (Sandbox Code Playgroud)

为什么拆分删除换行符?我如何保留\n在我的阵列中?

ruby

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

如何杀死rails webrick服务器?

当我尝试启动服务器时rails s,我收到以下错误消息:

C:\Users\Frankie\Documents\stocktracker>rails s
=> Booting WEBrick
=> Rails 3.2.8 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
A server is already running. Check C:/Users/Frankie/Documents/stocktracker/tmp/p
ids/server.pid.
Exiting
Run Code Online (Sandbox Code Playgroud)

列出的号码server.pid是8436.

如何手动终止此过程?如何轻松杀死当前运行的所有webrick服务器?

windows webrick ruby-on-rails-3

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

存储Google Places API数据 - 是否允许?

我正在创建一个网站,它本质上是一个属于利基类别的美国企业目录.为了填充数据库,我使用Google Places API来收集符合我标准的商家名称和地址列表.

我可以无限期地存储这些数据吗?我找不到任何明确禁止存储Places API数据的文档,但我知道其他API对您保存数据的时间有限制.

google-places-api

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

设置嵌套数组中元素的值

我正在尝试创建一个简单的10x10阵列,以便我可以创建Conway的生命游戏,但我遇到了一些奇怪的行为.首先我初始化董事会:

@board = Array.new(10, Array.new(10))
(0..9).each do |row|
    (0..9).each do |column|
        @board[row][column] = rand(0..1)
    end
end
Run Code Online (Sandbox Code Playgroud)

产生这个:

1000000111
1000000111
1000000111
1000000111
1000000111
1000000111
1000000111
1000000111
1000000111
1000000111
1000000111
Run Code Online (Sandbox Code Playgroud)

看起来很腥,但这完全可能是随机产生的.当我尝试设置单个单元格的值时,真正的问题就开始了.当我更改值时,它将整个列设置为该值!例如,假设我更改了第一个单元格的值:

@board[0][0] = 0
Run Code Online (Sandbox Code Playgroud)

我得到的是:

0000000111
0000000111
0000000111
0000000111
0000000111
0000000111
0000000111
0000000111
0000000111
0000000111
0000000111
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?为什么列0中的所有单元格的值都会改变,而不是0,0处的单元格?

ruby

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

为什么哈希递归比lambda递归更快?

我在StackOverflow上找到了两个不同的解决方案来计算Fibonacci数.一个使用a lambda,像这样:

f = ->(x){ x < 2 ? x : f[x-1] + f[x-2] }
f[6] # => 8
Run Code Online (Sandbox Code Playgroud)

另一个使用Hash:

f = Hash.new{ |h,k| h[k] = k < 2 ? k : h[k-1] + h[k-2] }
f[6] # => 8
Run Code Online (Sandbox Code Playgroud)

Hash版本比速度更快lambda的版本.

Benchmark.bm do |x|
  x.report { f[35] }
  x.report { fibonacci[35] }
end

user       system     total      real
7.332000   0.000000   7.332000  (7.349421)
0.000000   0.000000   0.000000  (0.000000)
Run Code Online (Sandbox Code Playgroud)

lambda版本甚至无法f[100]在合理的时间Hash内计算,而版本可以fibonacci[1000] …

ruby recursion fibonacci

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

Convert 4 bytes to integer using little-endian format (least signficant byte first)

According to the Wikipedia page, the width of a .bmp image is stored in the header of the file, in bytes 0x12 through 0x15. For example, in an image that is 256x256, bytes 0x12 through 0x15 would look like this; Ruby converts each byte to an integer:

file = File.open("red_bmp.bmp", "r")
bytes = file.bytes.to_a
bytes[0x12..0x15]
#=> [0, 1, 0, 0]
Run Code Online (Sandbox Code Playgroud)

为了将其转换为little-endian格式,我最好的解决方案是将每个十进制值转换为十六进制字符串,反转数组,连接元素,并将生成的十六进制字符串转换回整数.

width = bytes[0x12..0x15].map {|x| x.to_s(16).rjust(2, "0")}.reverse.join.to_i(16)
#=> 256
Run Code Online (Sandbox Code Playgroud)
  • 有更简单的方法吗?
  • 是否有一种简单的方法来读取文件并返回十六进制值而不是整数数组(不依赖x.to_s(16).rjust(2, "0"))?

ruby

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

链接列表无休止地循环

为了学习,我正在编写一个简单的链表实现.我的链表由node包含int值和指向下一个节点的指针的结构组成.当我运行我的代码时,它会无休止地循环,即使它应该在到达NULL指针时终止.我究竟做错了什么?

#include <stdio.h>

struct node {
  int value;
  struct node *next_node;
};

struct node * add_node(struct node *parent, int value)
{
  struct node child;
  child.value = value;
  child.next_node = NULL;

  parent->next_node = &child;
  return parent->next_node;
}

void print_all(struct node *root)
{
  struct node *current = root;

  while (current != NULL) {
    printf("%d\n", current->value);
    sleep(1);
    current = current->next_node;
  }
}


int main()
{
  struct node root;
  root.value = 3;

  struct node *one;
  one = add_node(&root, 5);
  print_all(&root); …
Run Code Online (Sandbox Code Playgroud)

c

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

提交表单以从索引中执行UPDATE操作

我正在尝试创建一个允许用户直接从索引页面编辑客户端条目的功能.当用户单击"编辑"时,将呈现部分,用输入文本字段替换元素.但是当按下"更新客户端"按钮时,我收到错误:

"No route matches [POST] "/clients/27"
Run Code Online (Sandbox Code Playgroud)

我能够直接从索引创建新客户端并销毁客户端...我对更新操作有什么问题?

部分:

<tr id="test">
  <%= form_for Client.find(27), :method => :PUT do |f| %>
    <td class="input">
      <%= f.text_field :name, :value => "Test" %>
    </td>
    <td class="input">
      <%= f.text_field :company %>
    </td>
    <td class="input">
      <%= f.text_field :email %>
    </td>
    <td class="grayedOut"></td>
    <td class="actions">
      <%= f.submit "Confirm edit" %>
    </td>
  <% end %>
</tr>
Run Code Online (Sandbox Code Playgroud)

routes.rb文件:

resources :clients do
  resources :projects do
    resources :items
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby forms ruby-on-rails ruby-on-rails-3

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