我有一个像这样的字符串数组:
["巴西(62)","巴勒斯坦领土占领(6)","马其顿(2)","德国(6)"]
我想用最高价值对它们进行排序,但它让我感到难过.我尝试过各种各样奇怪,精彩(无用)的东西,比如:
cont.sort! { |it| it.scan(/\d+/).to_s.to_i}
Run Code Online (Sandbox Code Playgroud) 系统:
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) 如何将有限自然数系列与正则表达式匹配?
所以,要求是:
1应该匹配:
11 21 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19不应该匹配:
1 3 41 2 3 4 5 6 6除此之外,还有一些正则表达式的要求:
perl正则表达式的所有功能我不确定正则表达式是否实际上是懒惰的,所以如果它们真的很棒.因为自然数系列在数论中的原始含义是非有限的.
最后一个.请注意,我没有使用错误的工具来完成这项工作.它根本不是真正的编程任务.
给定任意像素的连续绘制(例如在HTML5 Canvas上)是否有任何算法用于找到轴对齐的边界框,这比仅查看每个像素并记录最小/最大x/y值更有效?
考虑以下分析三字节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"它也像é,但有一个length的1.)
我已经看到了很多输出变量的方法。这些方法中哪一种“更好”?
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)
另外,在 之后s和d代表%什么?
我有一个 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) 我在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) 我有一个数组和一个哈希
L = []
H = {3=>"a", 2=>"b", 1=>"c"}
因此,我将迭代键以获得元素出现的次数,并将该元素追加到数组n次
结果
L = ['a', 'a', 'a', 'b', 'b', 'c']
使用inject(或者我经常在ruby代码中看到的其他方法)编写这个的好方法是什么?
我正在尝试编写此regEx(javascript)来匹配word1和word2(当它存在时):
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 - 可能存在也可能不存在.
ruby ×6
arrays ×2
javascript ×2
regex ×2
aabb ×1
batch-file ×1
bounding-box ×1
graphics ×1
html ×1
perl ×1
pixels ×1
sorting ×1
unicode ×1
validation ×1