我想使用插值添加以下 5 個字串。每個字串應由一個新行分隔:
ts = (Time.now.getutc.to_f * 1000).to_i.to_s
nonce = SecureRandom.uuid
host = 'example.com'
resource_path = '/v3/workflows/auth_flow/test'
body_hash = { some: 'hash' }.to_s
為此,我試圖:
signature = "#{ts}\n#{nonce}\n#{host}\n#{resource_path}\n#{body_hash}"
但我不確定這是正確的方法,因為我得到的是:
2.7.0 :105 > signature
=> "1637625282656\n666256a1-656c-49ed-b816-47211aecb4b4\nexample.com\n/v3/workflows/auth_flow/test\n{:some=>\"hash\"}"
這不是在每個字串后添加一個額外的字串“\n”而不是換行符嗎?
uj5u.com熱心網友回復:
您的代碼是正確的,這是預期的輸出。IRBinspect在它試圖顯示為回傳值的每個物件上呼叫方法。對于字串,它意味著用雙引號括起來并轉義特殊字符,包括“\n”。您可以“強制”它按原樣顯示字串puts signature。
在實際\n為兩個字符長的字串的情況下,它將讀取"\\n"
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/364010.html
標籤:红宝石
上一篇:速度和延遲之間的差異
