[英]What do Ruby's printf arguments mean?
有人可以幫我理解下面的表達方式嗎?
printf("%3d - %s\n", counter, name)
該行打印出類似這樣的內容6 - Install Adobe software
我已查閱信息並閱讀參考資料,但我找不到簡單的答案,我有點困惑。 如果您可以參考我的好參考,請這樣做。
%3d
好的,根據我的理解, %3d
是字符或空格的數量。 請指出一個解釋它的參考。
%s\\n
我無法弄清楚這是做什么的。 我猜\\n
是換行符或類似的東西,但通過查看輸出它似乎不像那樣工作。
為什么用逗號分隔counter
和name
變量?
通過查看輸出似乎%3d
被counter
替換, %s\\n
被name
替換。 我不確定它是如何工作的,但我想了解它。
有關語法,請查看任何printf文檔,但請查看ruby-doc上的sprintf文檔 。
它們之間用逗號分隔,因為它們是函數的獨立參數,但這或多或少都是語法糖。 想想varargs。
不確定你對%s\\n
的意思是什么,它是一個字符串然后換行:這就是它輸出的內容。
如果您的問題具體是“代碼如何將格式化字符串和一組參數轉換為輸出”我可能會搜索源代碼,例如,一個微小的嵌入式printf 。 Nutshell版本是搜索格式字符串的格式化選項,它們使用相關參數,輸出格式正確的字符串。 這是一個小小的DSL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.