小编tru*_*fle的帖子

如何在clojure中检查地图中的重复项?

所以我有一个如下列表:

({:name "yellowtail", :quantity 2} {:name "tuna", :quantity 1} 
{:name "albacore", :quantity 1} {:quantity 1, :name "tuna"})
Run Code Online (Sandbox Code Playgroud)

我的目标是搜索地图项目列表并查找重复项密钥,如果有重复项,则增加数量.所以在列表中我有两个出现的金枪鱼映射元素.我想删除一个,只是增加另一个的数量.所以结果应该是:

({:name "yellowtail", :quantity 2} {:name "tuna", :quantity 2} 
{:name "albacore", :quantity 1} )
Run Code Online (Sandbox Code Playgroud)

随着:金枪鱼的数量增加到2.我试图使用recur来做到这一点没有成功,我不确定recur是否是一个很好的方向.有人能指出我正确的方向吗?

maps dictionary clojure duplicates

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

bin/rails 给出错误“bin”未被识别为内部

我是一个初学者,试图学习和学习 Ruby on Rails 教程(http://guides.rubyonrails.org/getting_started.html#installing-rails

以及命令窗口中的所有 bin 命令,例如 $ bin/rails --version 或 $ bin/rails server

我收到错误“‘bin’未被识别为内部或外部命令、可操作程序或批处理文件。”

我刚刚安装了最新版本的 Ruby,所以我尝试运行 rakerails:update:bin

我还将 PATH 变量 C:\RailsInstaller\Ruby1.9.3\bin 添加到我的环境变量中。

我仍然遇到同样的错误。

先感谢您!

ruby ruby-on-rails path bin

5
推荐指数
2
解决办法
3660
查看次数

Unix tr命令将小写转换为大写,并将大写转换为小写

所以我一直在搜索,并使用命令tr可以将小写转换为大写,反之亦然。但是有办法一次做到这两个吗?

所以:

$ tr'[:upper:]''[:lower:]'或$ tr AZ az

会变成:“ Hello World ABC”改为“ Hello World abc”

但我希望它做:“ hello worLD abc”

请帮忙!=)

unix pipeline tr

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

如何从字符串Clojure中删除反斜杠\

我尝试了几种方法,但我仍然无法让它发挥作用.

 (clojure.string/replace "[\"fish\"]" "\\" "")
Run Code Online (Sandbox Code Playgroud)

我希望它是"["fish"]"

我也试过.replaceAll

问题是我不知道如何将\传递给参数.我看过这里建议的答案:

在Clojure中用*替换*

这是指添加\而不是删除,但这对我不起作用

string character clojure backslash

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

替代.indexOf来获取Clojure中矢量的索引

这是一个简单的问题但是,我被困住了.所以假设我有一个带负数,零和正数的输入向量.

[-1 -1 -2 -1 -4 0 -6 -1 -5 -2 -10 **4** -12 -4 -6 -1 -16 **3** -18 **2** -10 -8 -22 **12** -19
-10 -14 0 -28 **12** -30 -1 -18 -14 -22 **19** -36 -16 -22 **10** -40 **12** -42 -4 -12 -20 -46 **28** -41 -7]
Run Code Online (Sandbox Code Playgroud)

我想返回前一个向量的索引向量,其中值为正.

所以返回值是

 (11 17 19 23 29 35 39 41 47)
Run Code Online (Sandbox Code Playgroud)

11是4所在的指标,17是3所在的指标,等等

我正在使用.indexOF

这就是它的回归:(11 17 19 23 23 35 39 23 47)

我认为b/c在索引23,正值是12,而在索引29,值也是12,所以它只是返回索引,它首先看到正值"12"但是我怎么能得到在这附近?

我已经阅读了线程如何在向量中找到项目的索引? 但是我仍在苦苦挣扎,因为如果你正在寻找"两个"的话,那个人似乎在谈论如何在向量中找到"两个"的索引.

vector clojure indexof indices

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

如何循环并使用每次迭代Ruby创建一个新对象?

我看到了这个问题的几个变种,但并没有真正找到一个可靠的答案.

所以我有一系列的URL.我想循环遍历该数组,对于每个单独的URL,我将创建一个类WebPages的实例.

因此,如果数组URLS中有5个URL,那么我将创建5个WebPages对象.我尝试使用eval()来做到这一点,但很快就知道eval生成的实例有一个非常局部的范围,之后我不能使用那些WebPage对象.

string_to_eval = @urls.map{|x| "webpage#{urls.index(x)} = WebPage.new('#   {x}')"}.join(';')
puts string_to_eval
eval(string_to_eval)
Run Code Online (Sandbox Code Playgroud)

String_to_eval打印出来:

webpage0 = WebPage.new('http://www.google.com');
webpage1 = WebPage.new('http://www.yahoo.com');
webpage2 = WebPage.new('http://www.amazon.com');
webpage3 = WebPage.new('http://www.ebay.com')
Run Code Online (Sandbox Code Playgroud)

如何在Ruby中循环的每次迭代中创建一个对象?有没有解决的办法?

ruby loops eval object

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