小编Phr*_*ogz的帖子

按内容计算的最高值对数组进行排序

我有一个像这样的字符串数组:

["巴西(62)","巴勒斯坦领土占领(6)","马其顿(2)","德国(6)"]

我想用最高价值对它们进行排序,但它让我感到难过.我尝试过各种各样奇怪,精彩(无用)的东西,比如:

cont.sort! { |it| it.scan(/\d+/).to_s.to_i}
Run Code Online (Sandbox Code Playgroud)

ruby arrays sorting

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

无法使用File.delete删除文件

系统:

Windows Server 2008
Ruby 192

在'删除'中:权限被拒绝Errno:EACCES

行:File.delete('filename.ext')

如果您知道任何其他方法删除文件绕过此错误我很高兴为您分发一些点:)我的意思是任何帮助将不胜感激;-p

我怀疑文件没有关闭,但它已关闭.

源代码:

Dir.foreach(FileUtils.pwd()) do |f|
  a[i] = f
  if a[i].end_with?('log')
    file = File.open(a[i])
    if file.ctime < TIME_TO_REMOVE_LOGS || file.mtime < TIME_TO_REMOVE_LOGS || File.size(a[i]) > MAX_FILE_SIZE
      puts a[i]
      puts file.ctime
      puts file.mtime

      # zipping the file
      orig = a[i]
      Zlib::GzipWriter.open('arch_log.gz') do |gz|
        gz.mtime = File.mtime(orig)
        gz.orig_name = orig
        gz.write IO.binread(orig)
      end
      file.close
    end
  end
  File.delete(a[i])
  i = i + 1
end
Run Code Online (Sandbox Code Playgroud)

ruby batch-file

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

匹配有限自然数系列

如何将有限自然数系列与正则表达式匹配?

所以,要求是:

  • string包含数字和空格(作为分隔符)
  • 第一个数字是 1
  • 每个数字(第一个除外)等于前一个数字+ 1

应该匹配:

  • 1
  • 1 2
  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
  • 长串的后续数字从1到10 ^ 1000

不应该匹配:

  • ``
  • 1 3 4
  • 1 2 3 4 5 6 6

除此之外,还有一些正则表达式的要求:

  • 它应该是单一的单次表达式,而不是循环条件算法的指令包
  • 它可以使用perl正则表达式的所有功能

我不确定正则表达式是否实际上是懒惰的,所以如果它们真的很棒.因为自然数系列在数论中的原始含义是非有限的.

最后一个.请注意,我没有使用错误的工具来完成这项工作.它根本不是真正的编程任务.

regex perl

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

计算任意基于像素的绘图的边界框

给定任意像素的连续绘制(例如在HTML5 Canvas上)是否有任何算法用于找到轴对齐的边界框,这比仅查看每个像素并记录最小/最大x/y值更有效

graphics pixels bounding-box aabb

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

计算Unicode字符串长度而不组合标记

考虑以下分析三字节UTF-8字符串的Ruby代码:

#encoding: utf-8
s = "\x65\xCC\x81"
p [s.bytesize, s.length, s, s.encoding.name]
#=> [3, 2, "é", "UTF-8"]
Run Code Online (Sandbox Code Playgroud)

正如本页面上所描述的那样,上面确实一个两个字符的字符串:拉丁文小写字母,e然后是" 结合急性重音".但是,它看起来像一个字符,这在布置固定宽度显示时很重要.

例如,查看此目录列表中 "moiré.svg"的两个条目,并注意其中一个条目如何搞乱列对齐.

如何计算Ruby中字符串的"等宽视觉长度",其中不包含任何零宽度组合字符?(一个有效的技术可能变换一个Unicode字符串到它的规范表示的方式,到上述转动"\xC3\xA9"它也像é,但有一个length1.)

ruby unicode

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

在字符串中输出变量的“正确”方法

我已经看到了很多输出变量的方法。这些方法中哪一种“更好”?

my_name = 'Jeff Hall'
my_height = 74 
puts "Let's talk about %s." % my_name
puts "He's %d inches tall." % my_height
Run Code Online (Sandbox Code Playgroud)

对比

puts "Let's talk about #{my_name}."
puts "He's #{my_height} inches tall." 
Run Code Online (Sandbox Code Playgroud)

另外,在 之后sd代表%什么?

ruby

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

Javascript dd/mm/yyyy 日期检查?

我有一个 html 表单字段,人们可以在其中输入编码如下的日期:

input type="text" name="dateofbirth" placeholder="dd/mm/yyyy"
Run Code Online (Sandbox Code Playgroud)

我试图找到一个 JavaScript 来检查日期是否以dd/mm/yyyy格式输入(所以 10 个字符,2/2/4)

任何意见将不胜感激。只是第一次使用 javascript 并且一直做得很好,直到这个小问题。

编辑:代码(表单名称为“注册”)

// JavaScript Document
function validateForm(signup) {
  {
    var x = document.forms["signup"]["dateofbirth"].value;
    var reg = /(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d/;
    if (x.match(reg)) {
      return true;
    }
    else {
      alert("Please enter dd/mm/yyyy");
      return false;
    }           
  }
}
Run Code Online (Sandbox Code Playgroud)

html javascript validation

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

从字符串中设置常量值

我在rails应用程序中有一些域数据,我正在尝试为其创建一些常量.这是我在Dan Chak的Enterprise Rails第7章中遇到的问题.我做了以下事情:

G = Rating.find_by_rating_code('G')
Run Code Online (Sandbox Code Playgroud)

然后当我使用Rating :: G时,返回适当的评级记录.这非常有效.我的问题出现是因为我有150个评级代码.因此,我没有为每个评级代码键入上面的代码行,而是希望使用一些元编程来避免使用大量冗余代码来混淆我的模型.因此,我尝试了以下内容.

RATINGSCODES = %w(G A AB TR P ...)

class << self
RATINGSCODES.each do |code|
code.constantize = Rating.find_by_rating_code(code)
end
end
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到了一个未初始化的常量错误,无法弄清楚我哪里出错了.我是否以正确的方式接近这一点.我也试过使用const_get,但似乎也没有用.

根据下面的建议,我也尝试过使用

code.const_set = Rating.find_by_rating_code(code)
Run Code Online (Sandbox Code Playgroud)

这产生了以下错误:

undefined method `const_set=' for "G":String
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails-3

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

将n个元素追加到数组中

我有一个数组和一个哈希

L = []
H = {3=>"a", 2=>"b", 1=>"c"}

因此,我将迭代键以获得元素出现的次数,并将该元素追加到数组n次

结果

L = ['a', 'a', 'a', 'b', 'b', 'c']

使用inject(或者我经常在ruby代码中看到的其他方法)编写这个的好方法是什么?

ruby arrays

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

匹配字符串中的任何/所有多个单词

我正在尝试编写此regEx(javascript)来匹配word1word2(当它存在时):

This is a test. Here is word1 and here is word2, which may or may not exist.

我试过这些:


(word1).*(word2)?

这只会匹配,word1无论是否word2存在.


(word1).*(word2)

这将匹配两者,但在两者都存在时才匹配.


我需要一个正则表达式匹配word1和word2 - 可能存在也可能不存在.

javascript regex

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