###該当のソースコード
# -*- coding: utf-8 -*- require 'open-uri' require 'digest/sha1' def crawler(url) hash_str = Digest::SHA1.hexdigest(url) path="files/"+hash_str if !File.exist?(path) source = open(url).read open(path,'w+b') {|f| f.write(source)} end end url = "http://www.yahoo.co.jp/" crawler(url)
ファイルを取得して保存をするコードです。
「
ハッシュ値をASCIIコードを使って16進数の文字列にエンコードをする。
SHA1は40バイト。
」
とあるのですが一体何のためにこれをしているのでしょうか??「」内の文章の意味をわかりやすく教えて欲しいです。
またDigest::SHA1.hexdigestはSHA1.hexdigestだけで書くのはなぜ駄目なのでしょうか?::が必要な場合と、クラス名.メソッドのように必要でない場合はどうやって判断をすればいいのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/26 16:03