[問題] 關於密碼產生器
def random_password(size = 8)
chars = (('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a) - %w(I 1 l o
O 0 )
(1..size).collect{|a| chars[rand(chars.size)] }.join
end
puts random_password
===========================================================================
(1..size).collect{|a| chars[rand(chars.size)] }.join
^^^ ^^^^
抱歉問一些基本的問題
請問一下這個|a|和.join是什麼意思???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 121.254.96.194
--
每次發文都想按i插入文字
vi中毒太深....
※ 編輯: maxwux 來自: 121.254.96.194 (07/20 10:12)
→
07/20 10:20, , 1F
07/20 10:20, 1F
→
07/20 10:25, , 2F
07/20 10:25, 2F
→
07/20 11:12, , 3F
07/20 11:12, 3F
不好意思再請教一下
我稍稍做了註解,可以幫我看一下嗎?
我不確定我這樣的理解對不對?
#!/usr/bin/ruby -Ku
#定義字串的長度8個字元
def random_password(size = 8)
#將要當成密碼的字元存入chars的陣列中
chars = (('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a) - %w(I 1 l o
O 0 )
#做1~8次,將chars字串長度(58),從中取出亂數的一個數字
#然後這個取出的數字就是chars陣列中的一個元素,例如chars[0]就等於A
#經過collect之後這8個字分別是陣列中的8個元素
#再經由join之後,把陣列變成了字串
#而|a|是區塊變數,可省略不寫
(1..size).collect{|a| chars[rand(chars.size)] }.join
end
#印出亂數產生的密碼
puts random_password
※ 編輯: maxwux 來自: 121.254.96.194 (07/20 11:56)
※ 編輯: maxwux 來自: 121.254.96.194 (07/20 11:57)
推
07/21 00:08, , 4F
07/21 00:08, 4F
→
07/21 00:10, , 5F
07/21 00:10, 5F
→
07/21 10:38, , 6F
07/21 10:38, 6F
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章