Tag: list

HAML。变量的函数

我有大约30多个变量,其中包含一个包含多个字符串的数组。 1个变量= 1个数组。 我想知道是否可以创建一个包含所有变量名称的新变量,因此我可以遍历它们。 例如: 这些是单个数组: – @a = [“a”,”b”,”c”,”d”,”d”]; – @b = [“a”,”b”,”c”,”c”,”d”]; – @c = [“a”,”b”,”c”,”d”]; 现在我想在单独的变量中获取所有唯一且重复的字符串,如下所示: – @x_uniq = @a.uniq – @x_dup = @a.each_with_object(Hash.new(0)) { |e,h| h[e] += 1 }.select{ |k,v| v > 1 }.keys … – @x_uniq = @b.uniq – @x_dup = @b.each_with_object(Hash.new(0)) { |e,h| h[e] += 1 }.select{ |k,v| v […]

在Python中冻结?

我已经用Python编程了一段时间,最近才开始在工作中使用Ruby。 语言非常相似。 但是,我刚刚遇到了一个Rubyfunction,我不知道如何在Python中进行复制。 这是Ruby的freeze方法。 irb(main):001:0> a = [1,2,3] => [1, 2, 3] irb(main):002:0> a[1] = ‘chicken’ => “chicken” irb(main):003:0> a.freeze => [1, “chicken”, 3] irb(main):004:0> a[1] = ‘tuna’ TypeError: can’t modify frozen array from (irb):4:in `[]=’ from (irb):4 有没有办法在Python中模仿这个? 编辑:我意识到我觉得这只是为了列表; 在Ruby中, freeze是Object上的一个方法,因此您可以使任何对象不可变。 我为这种困惑道歉。

基于数组生成文件列表

我尝试了一些事情,但本周我觉得我的大脑正在度假,我需要完成这件事……所以我希望有人可以帮助我。 我需要根据保存到数据库中的哈希创建一个文件列表。 看起来像这样: [‘file1’, ‘dir1/file2’, ‘dir1/subdir1/file3’] 输出应该是这样的: 文件1 DIR1 文件2 subdir1 文件3 在HTML中,最喜欢这样(用js扩展它以折叠和多选) file1 dir1 file2 subdir1 file3 我正在使用Ruby on Rails并试图在RJS模板中实现这一点。 但这并不重要。 你也可以帮我一些详细的伪代码。 有人知道如何解决这个问题吗? 编辑 感谢所有人提供这些解决方案。 列表工作,我将其扩展为可折叠的解决方案,以显示/隐藏目录内容。 我仍然有一个问题:代码的目的是在同步条目后面的复选框中有完整的文件路径。 基于sris的解决方案,我只能读取当前文件并且它是subs,但不能读取root的整个路径。 为了更好地理解: 目前: [x] dir1 [x] dir2 [x] file1 给我 显示相同值的复选框,例如[x] file1的“file1”。 但我需要的是一个完整的路径,例如[x] file1的“dir1 / dir2 / file1”。 有人有另外一个提示如何添加这个?

如何从Ruby可枚举中获取列表?

我知道Python的list方法可以使用生成器中的所有元素。 Ruby中有类似的东西吗? 我知道 : elements = [] enumerable.each {|i| elements << i} 我也知道inject替代品。 有一些现成的方法吗?