小编use*_*308的帖子

Array#each vs. Array #map

hash = { "d" => [11, 22], "f" => [33, 44, 55] }

# case 1
hash.map {|k,vs| vs.map {|v| "#{k}:#{v}"}}.join(",")
=> "d:11,d:22,f:33,f:44,f:55"

# case 2
hash.map {|k,vs| vs.each {|v| "#{k}:#{v}"}}.join(",")
=> "11,22,33,44,55"
Run Code Online (Sandbox Code Playgroud)

唯一的区别是案例1使用vs.map,案例2使用vs.each.

这里发生了什么?

ruby arrays enumerable

89
推荐指数
3
解决办法
5万
查看次数

const string vs. #define

我需要在我的c ++程序中共享一些字符串.我应该使用#define还是const string?谢谢

mystring1.h

#define str1 "str1"
#define str2 "str2"    
Run Code Online (Sandbox Code Playgroud)

或者
mystring2.h

extern const string str1;  
extern const string str2;  
Run Code Online (Sandbox Code Playgroud)

mystring.cpp

const string str1 = "str1";  
const string str2 = "str2";
Run Code Online (Sandbox Code Playgroud)

c++

28
推荐指数
4
解决办法
7万
查看次数

如何为Flash错误添加换行符?

我试图格式化Flash错误并遇到一些问题:

errors = ["error1 msg", "error2 msg", "error3 msg"]   
flash[:error] = errors.join("\n") 
Run Code Online (Sandbox Code Playgroud)

我希望看到它们显示在三个单独的行中,但是,我"error1 msg error2 msg error3 msg"改为了.

我用来加入字符串的换行符发生了什么变化?

ruby ruby-on-rails

12
推荐指数
2
解决办法
9251
查看次数

如何在拆分字符串时避免追踪删除的空项目?

我在做:

"b::::c:::".split(':')
Run Code Online (Sandbox Code Playgroud)

结果:

["b", "", "", "", "c", "", ""] # expect
["b", "", "", "", "c"] # actual
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?我怎么能得到我所期望的.

ruby

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

xlsx问题:创建包含大量行的Excel工作表

我正在使用Axlsx创建一个excel文件.对于小型数据集,它工作正常.但是一旦数据集变大,它就会挂起.我对这个过程进行了分析,它做了很多事.

a = Axlsx::Package.new
book = a.workbook
book.add_worksheet(:name => "test") do |sheet|

  input_array.each do |input_data|
     ...# covert input_data to row_data
     sheet.add_row(row_data)
  end
end
File.open("testfile", 'w') { |f| f.write(p.to_stream().read) }
Run Code Online (Sandbox Code Playgroud)

我的input_array大小约为400,000,因此工作表有400,000行,非常大.它陷入了困境p.to_stream().read.任何帮助都会很棒.谢谢.

ruby-on-rails export-to-excel ruby-on-rails-3 axlsx

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

使用常量创建数组而不重复指定拥有类

class CAR 
   FORD = 1
   GM = 2
   BMW = 3
end
Run Code Online (Sandbox Code Playgroud)

我想创建一个像这样的数组:

all_cars = [CAR::FORD, CAR::GM, CAR::BMW]
=>[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以为每个元素输入CAR ::来初始化这个数组,就像这样

all_cars = %(FORD GM BMW).map {|ele| "CAR::" + ele}
=>["CAR::FORD", "CAR::GM", "CAR::BMW"]
Run Code Online (Sandbox Code Playgroud)

不想要我想要的

ruby

3
推荐指数
2
解决办法
3700
查看次数

汇总子值并保存在中间步骤中计算的值

struct node { 
    int value; 
    struct node* left; 
    struct node* right; 
    int left_sum;
    int right_sum;
} 
Run Code Online (Sandbox Code Playgroud)

在二叉树中,从特定节点,有一个简单的递归算法来汇总其所有子值.有没有办法保存在中间步骤计算的值,并将其存储为left_sumright_sum在子节点?

通过添加struct node* parent节点定义的链接,自下而上更容易吗?

binary-tree

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

snmpd 未侦听 Ubuntu 服务器上的端口 161

我已经通过apt-get install snmpd snmp 在我的 Ubuntu 服务器上安装了 snmpd。然后我更改了 /etc/default/snmpd 中的行

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 0.0.0.0'
Run Code Online (Sandbox Code Playgroud)

之后,我重新启动了 snmpd 服务器(/etc/init.d/snmpd restart)。但是,当我运行netstat -an |时 grep "LISTEN ",我没有看到 snmpd 正在侦听端口 161。

我没有任何防火墙阻止该端口。

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Run Code Online (Sandbox Code Playgroud)

linux ubuntu snmp

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

调用select_month时设置默认值

我无法使用select_month计算如何将默认月份设置为4.不知道我做错了什么.谢谢.

select_month(Date.today,  
             :field_name => 'month', 
         :use_month_numbers => true, 
         :html_options => { :selected => '4'})
Run Code Online (Sandbox Code Playgroud)

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

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