现在我有
value = "United states of america"
words_to_ignore = ["the","of"]
new_string = value.split(' ').map {|w| w.capitalize }.join(' ')
Run Code Online (Sandbox Code Playgroud)
我想在这里做的是除了这个词of,我希望其余的大写.所以输出就是United States of America.现在我不确定,怎么做到这一点.
我一定是傻了,但我刚刚切换到 Emacs 24,并且在移动点时按住 Shift 不再突出显示文本。鼠标选择和以前一样工作。我错过了什么?我不小心关掉了吗?或者是否认为 Shift 选择不符合人体工程学,因此我们手头有其他一些更好的基于键盘的选择?
我必须找到 3 个整数数组(例如 a、b、c)与条件的交集元素;如果数组中的任何一个为 null ( []),则忽略该数组并查找剩余数组的交集,如果三个数组都为 null,则返回 []。提前致谢。
ps:红宝石1.9.3
tap方法如何以并发方式工作?如果我这样做,我是否必须担心:
some_object.tap { |o|
# time-consuming operation 1
}.tap { |o|
# time-consuming operation 2
}
Run Code Online (Sandbox Code Playgroud)
那么,在现在还是将来,Ruby会尝试同时进行这些操作?你知道,#tap听起来很危险.
是否保证#tap块按顺序执行(当然,除非在块内部执行某些异常操作)?
这导致了如下情况:
-1 ** 0.5 #=> -1
Run Code Online (Sandbox Code Playgroud)
只有括号补救它:
(-1) ** 0.5 #=> 6.123031769111886e-17+1.0i
Run Code Online (Sandbox Code Playgroud)
这比预期的要差1.i,但基本上可以接受.在我向Ruby漏洞抱怨之前,我想知道是否有某种原因可以这样做?
在Ruby中,我需要使用均值来绘制指数分布m.请告诉我如何快速有效地完成它.例如.让我们:
m = 4.2
def exponential_distribution
rand( m * 2 )
end
Run Code Online (Sandbox Code Playgroud)
但是,当然,这段代码是错误的,而且,它只返回整数结果.我今天已经累了,请提示我一个好的解决方案.
我正在使用H2O deeplearning前馈深度神经网络进行二进制分类.我的课程非常不平衡,我想使用像这样的参数
balance_classes,class_sampling_factors
任何机构都可以给我一个可重复的例子,说明如何专门初始化这些参数来处理类不平衡问题.
为了用错误术语纠正异方差,我在R中运行以下加权最小二乘回归:
#Call:
#lm(formula = a ~ q + q2 + b + c, data = mydata, weights = weighting)
#Weighted Residuals:
# Min 1Q Median 3Q Max
#-1.83779 -0.33226 0.02011 0.25135 1.48516
#Coefficients:
# Estimate Std. Error t value Pr(>|t|)
#(Intercept) -3.939440 0.609991 -6.458 1.62e-09 ***
#q 0.175019 0.070101 2.497 0.013696 *
#q2 0.048790 0.005613 8.693 8.49e-15 ***
#b 0.473891 0.134918 3.512 0.000598 ***
#c 0.119551 0.125430 0.953 0.342167
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ …Run Code Online (Sandbox Code Playgroud) 有阵列
a = [1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
我想重新塑造它
a = [[1, 2], [3, 4], [5, 6]]
Run Code Online (Sandbox Code Playgroud)
我的印象是有一种特定的方法.我刚刚通过Array类引用,但未能找到它.有人记得吗?
所以我有两个哈希数组:
a = [{"b"=>123,"c"=>456}, {"b"=>456,"c"=>555}]
b = [{"c"=>456,"d"=>789}, {"b"=>222,"c"=>444}]
Run Code Online (Sandbox Code Playgroud)
如何将它们连接起来,条件是该键的值c是两个等价a和b?意思是我希望能够与条件相结合a['c'] == b['c']
这是我想得到的结果:
final_array = [{"b"=>123,"c"=>456,"d"=>789}, {"b"=>456,"c"=>555}, {"b"=>222,"c"=>444}]
Run Code Online (Sandbox Code Playgroud) 我试图找到给定进程的所有TCP 套接字的文件描述符,即。给定它的 pid,这样我就可以在另一个进程中获得套接字选项而无需修改原始进程。
例如,如果我知道文件描述符是fd,那么我希望调用getsockopt(fd, ...)以在另一个进程中检索选项。我想知道这可行吗?如果是这样,如何fd在原始过程之外获得我需要的?
我试图在创建套接字时打印出返回值,即。s = socket(...); printf("%d\n", s);,保持原始进程运行并在getsockopt(s, ...)其他地方调用但它不起作用 - 似乎这样的返回值是依赖于进程的。
我也找到了 unix 域套接字的解决方案,但我不想修改原始进程的代码。
至于\proc\<PID>\fd直接阅读还是利用阅读lsof,我想说我不知道如何从他们那里找到我需要的东西。我的直觉是它们可能是潜在的解决方案。
当然,也欢迎任何其他想法。说实话,我对Linux中的文件描述符机制不是很熟悉。
尽管使用Git已有相当一段时间,但我仍然无法理解其分支机制。特别是,请考虑一个新项目foo,其中包含bar.txt由以下简单命令初始化的单个文件:
$ mkdir foo
$ cd foo
$ git init
$ touch bar.txt
$ git add .
$ git commit -m 'Initial commit'
Run Code Online (Sandbox Code Playgroud)
现在,当我创建一个分支时foobar,git branch表明我仍然在master:
$ git branch foobar
$ git branch
foobar
* master
Run Code Online (Sandbox Code Playgroud)
但是当我更改文件时bar.txt:
$ echo quux >> quux.txt
$ git status
modified: quux.txt
Run Code Online (Sandbox Code Playgroud)
然后,当我签出另一个分支时,我可以看到文件bar.txt也在那里被修改了:
$ git checkout foobar
$ git status
modified: quux.txt
Run Code Online (Sandbox Code Playgroud)
我已经知道,此行为使我可以选择要将更改提交到哪个分支,但是我觉得很烦。我怀疑我无法理解Git分支背后的基本思想。有没有办法告诉git,当我对进行更改时master,我不希望它们在我选择签出的任何其他分支中可见?