[英]Difference between gets.chomp.to_i and gets.chomp in Ruby
gets.chomp.to_i
和gets.chomp
中的 gets.chomp 有什么區別? 它是做什么的,它是如何工作的?
gets
要求用戶輸入一些內容,並按照輸入的內容准確返回。 請注意,返回值是一個字符串並在末尾包含一個換行符(因為用戶按下Enter
鍵提交了他們的響應):
> gets
> 1 # user input
=> "1\n"
添加chomp
會從輸入中刪除換行符(從技術上講,是記錄分隔符)。 請注意, "1"
現在末尾缺少換行符,但仍然是一個字符串:
> gets.chomp
> 1 # user input
=> "1"
添加to_i
會將輸入字符串轉換為 integer。請注意,返回值現在是 integer:
> gets.chomp.to_i
> 1 # user input
=> 1
使用.to_i
執行轉換僅對 integer 輸入有意義,因為其他字符串值將返回 0:
> gets.chomp.to_i
> foo # user input
=> 0
gets
在腳本中用於檢索用戶輸入。 .chomp
用於刪除換行符和回車符。 看這里。
gets.chomp
確實返回一個字符串 -> to_i
將字符串轉換為 integer。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.