uuid = Digest::SHA256.digest(SecureRandom.uuid)
id = Base62.encode(uuid)
整数に文字列のいない暗黙の型変換に文字列のいない暗黙の型変換整数base62エンコードレール
ライン= id = Base62.encode(uuid)
uuid = Digest::SHA256.digest(SecureRandom.uuid)
id = Base62.encode(uuid)
整数に文字列のいない暗黙の型変換に文字列のいない暗黙の型変換整数base62エンコードレール
ライン= id = Base62.encode(uuid)
パス文字列がスタックオーバーフローに
uuid = SecureRandom.uuid.gsub("-", "").hex
@id = uuid.base62_encode
私はあなたのコードが動作するように起こっているとは思いません。理由は次のとおりです。
Base62.encode(num)
は、base10の数字をbase62の文字列に変換します。これはあなたの問題です:
Digest::SHA256.digest(SecureRandom.uuid)
# => "\e\x1F\xD6yby\x02o\f)\xA2\x91\xD4\xFB\x85jd\xE0\xF7\xECtd\x8E\xA6\x9Ez\x99\xD8>\x04\nT"
文字列を返します。
あなたはbase62-rb
宝石のコード、および方法上記のコメントを見れば、あなたはそれは私がこれを複製しようとすると、私が取得エラーです整数に文字列を比較しています見ることができます:
ArgumentError: comparison of String with 0 failed
をここで
だ宝石からの方法である:
# From base62-rb.rb line 8-20:
# Encodes base10 (decimal) number to base62 string.
def self.encode(num)
return "0" if num == 0
return nil if num < 0
str = ""
while num > 0
# prepend base62 charaters
str = KEYS[num % BASE] + str
num = num/BASE
end
str
end
このすべては、あなたがbase62-rb
宝石を使用しているという事実を前提とはもちろんです。だから、おそらくあなたは私たちにいくつかの文脈を与え、あなたが試したことを私たちに知らせることができますか?
あなたはコメントと答えを混ぜている。質問が不明な場合は、質問を投票して投票を終了し、質問に問題がある理由を説明してください。 https://meta.stackoverflow.com/questions/256328/vote-to-close-unclear-questions-immediately-after-commentingおよびhttps://meta.stackoverflow.com/questions/260263/how-long-should-私たちはポスターの終わりを明かす前に質問を明記してこれを説明します。 –
ようこそbase62するため。 "[ask]"と "[mcve]"をリンク先のページとともにお読みください。あなたの質問は明確ではありません。 –
あなたの質問は何ですか? – sawa
質問していただきありがとうございます、ここに書かれているはずの人がもっと気になります。私はbase62にUUIDを渡したいが、すでに感謝を解決した –