當前位置:首頁 » 操作系統 » 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"這句等你確認演算法是對的再來執行吧

熱點內容
方舟怎麼用自己的存檔進入別人的伺服器 發布:2025-05-14 16:46:25 瀏覽:876
微博視頻高清上傳設置 發布:2025-05-14 16:38:41 瀏覽:548
資料庫圖書管理設計 發布:2025-05-14 16:33:52 瀏覽:378
php開發的網頁 發布:2025-05-14 16:22:03 瀏覽:477
伺服器內存跑滿了怎麼回事 發布:2025-05-14 16:21:16 瀏覽:224
微信qq音樂緩存 發布:2025-05-14 16:16:16 瀏覽:469
c語言回收內存 發布:2025-05-14 16:16:08 瀏覽:144
2021國產安卓頂級旗艦買哪個 發布:2025-05-14 16:15:36 瀏覽:300
linux自學視頻 發布:2025-05-14 16:14:49 瀏覽:256
我的世界伺服器崩了重啟 發布:2025-05-14 16:09:37 瀏覽:45