当前位置:首页 » 操作系统 » ruby算法

ruby算法

发布时间: 2022-09-11 13:02:26

⑴ ruby问题

1. 3.step(n,2){|num|$arr << num if is_prime?num} 中的 is_prime?num 是在调用下面的方法吗?

正是!!!

2. number % $arr[j] == 0 是余数字模式,如果等于0表示能够被整除;既然你在找素数,能够被正除就表示不是素数,所以为false

⑵ Ruby跟python哪个执行速度更快

嗯。有些人说ruby快些。只是开发快。有些人说python快些。ruby发展的晚些,在某些情况下的确比python快些。不过python底层本身就是C写的。它本身脚本的执行效率相当高。这些差距基本可以忽略不计。

所以一个程序的快慢首先取决于算法。本身的执行速度你可以测试一下,差别不大。ruby在某些领域里开发速度的确挺快的。比如着名的ruby on rail。还的ruby的一些测试工具。python有名的几个程序也多,虽然不是那么划时代的感觉。不过足够用。整体来讲python的使用者多些,支持库也多些。

python以前有一个psyco优化库,后来转化为pypy了。不过还是老版本的psyco好用些。加上那个后,python速度大大提高。再和ruby比,就不好说了。在特定领域,会优化明显。

当初选择ruby还是python方面,还是花了些心思调查的。最后觉着ruby有些“原始”,不够开放与灵活。

语言是一个载体,用来表达程序员的思想,这方面我感觉python更强些。表达能力强。更适合当时的我。所以最后选择了python。

⑶ ruby是不是多线程

ruby支持多线程!

⑷ ruby的hash多线程安全吗

HashMap,HashSet,ArrayList都不具备线程安全
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。

⑸ 从零开始学习 Ruby,该如何做

ruby就是一种简单的面向对象程序设计的脚本语言,它归根结底源于Perl和Lisp两类语言,相对于其他语言来说ruby的语法较为简单,还具错误处理的功能,它的可移植性也比较高,不仅可以运行在多数的unix上,在DOS,WINDOWS,MAC,BEOS等平台上面也可以运行自如。他还有一个极大的优点就是适合快速开发,同等情况下它的开发效率可以是JAVA的五倍左右。

如果时间充足又打算稳扎稳打学习好它的话,看看网络上面CodeSchool的教程也是一种不错的选择,视频教程相对我们看书自己学习来说会更加的生动,视屏学习中也会提供大量练习题,内容也是比较实用是一种零基础学习者很棒的选择。

⑹ Ruby和python哪个更易懂、灵活

Ruby是非常流行的构建网站技术,最着名的是Twitter,Basecamp,Github,Airbnb,Slideshare,Groupon。
Rbuy和Python都是面向对象的语言,都是动态和灵活的,这些技术的主要区别在于他们解决问题的方式。Ruby提供了不同的方法。
最流行的Ruby框架是Ruby on
rails,它和Django非常类似,因为这两个框架都是为了解决相同的任务。如果我们比较这些技术的社区,你会意外的发现他们是一样的,然而形成这些团体的人是不同的。Python在数据科学和数学方面很受欢迎,你可以找到很多的引导者。
当你开发Web应用程序时,可以用RoR实现,也可以用Django,两者都是非常快速高效的,如果开发偏重于大量计算和数据处理的应用,则可以选择Python。
Python的支持者是世界上规模最大和构成最多样化的一个团队,不仅有数以千计的个人开发者,同时还有诸如谷歌、yandex、Dropbox、Mozilla、微软等巨头公司,他们和其他公司一起,已经用Python创建了世界最大的和最受欢迎的项目。
与Rbuy相比,Python更加流行,目前已广泛应用于人工智能、云计算开发、大数据开发、数据分析、科学运算、网站开发、爬虫、自动化运维、自动化测试等领域,就业范围广,薪资待遇高,且入门简单、语法清晰。

⑺ 24点算法。求ruby源代码,写好源代码直接发至邮箱[email protected],小弟感激不尽

class Hash
def * ys # returns a new hash of {result => expression}
inject({}){|hash, (x, x_expr)|
ys.each{|y, y_expr| ['+', '-', '*', '/'].each {|op|
(res = x.send(op, y) rescue nil) and hash[res] = "(#{x_expr} #{op} #{y_expr})"
(res = y.send(op, x) rescue nil) and hash[res] = "(#{y_expr} #{op} #{x_expr})"
}}
hash
}
end
end
r = (1..9).to_a
tested = {}
r.each{|a| (r-[a]).each{|b| (r-[a,b]).each{|c| (r-[a,b,c]).each{|d|
next if tested[[a,b,c,d].sort]
if expr = ({a=>a} * {b=>b} * {c=>c} * {d=>d})[24] || (({a=>a} * {b=>b}) * ({c=>c} * {d=>d}))[24]
puts expr
tested[[a,b,c,d].sort] = true
end
}}}}
puts "#{tested.size} results found" #=> 125 results found

试试这个,不是我写的。

⑻ ruby从新手到独立开发需要多长时间

上手之类没问题的,不过ruby的思维习惯和一般的语言有点不一样,需要把你开发的思维改一下。
真要做一些应用开发,我估计三个月足够了吧,不过要是真的很精通,就算你学C或者Java,再给1年也不为过啊。

编程最核心的是你的思路、整体素质、算法和结构上面的能力,语言是其次的,但是语言方面,需要很多的经验积累,这样才能写的优雅和简洁,并且尽量利用该语言的特性。

⑼ 如何用命令对fasta格式的序列按长短排序

>xxxx
yyyyyyyyyyyy
你就把它变成
char_num#>xxxxx#yyyyyyyyyyyyyyyyyy
然后你就可以排序.
最后将它还原为原来的格式
以下是使用ruby的实现
file = File.open "fasta"
list = []
loop do
key = file.gets
value = file.gets
break if value == nil
line = value.size.to_s << "#" << key << "#" << value
#这里你自己没说清楚,到底序列是指
#>xxxxxx
#yyyyyyyyyyyyy还是指
#yyyyyyyyyyyyyy,所以自己修改,我默认为下一种
list.push line
end
list.sort! #恩,这里有些问题,国内的ruby少的可怜。而我又没有ruby的帮助文档。这里需要修改一下sort的这个算法。因为ruby默认是按照ascii顺序排列的。所以5反而在10的后面。还有另一种方法是使用linux的sort工具 sort -n 可以实现按数字排序,但是中间要生成临时文件,自己实现。
tmpfile =File.open "fasta.tmp", "w"
list.each { |elem| tmp_list = elem.splist ( /#/ ); tmpfile.puts tmp_list[1], tmp_list[2]}
#system "mv fasta.tmp fasta"这句等你确认算法是对的再来执行吧

热点内容
centos使用python 发布:2024-05-18 23:39:48 浏览:866
幻影天龙脚本 发布:2024-05-18 23:38:17 浏览:711
编程的py 发布:2024-05-18 23:36:22 浏览:73
安卓系统怎么改序列号 发布:2024-05-18 23:28:16 浏览:782
c语言中实数 发布:2024-05-18 23:21:03 浏览:894
服务器搭建题目 发布:2024-05-18 23:01:29 浏览:27
下载武装突袭后怎么进服务器 发布:2024-05-18 22:56:17 浏览:825
c语言字符串大写变小写 发布:2024-05-18 22:56:16 浏览:438
重启删除的文件夹 发布:2024-05-18 22:34:11 浏览:638
视频软件源码 发布:2024-05-18 22:22:24 浏览:429