chomp是Ruby库中的预定义方法,用于消除运行时用户输入的字符串附带的隐式换行符'\ n'。我们在Ruby中使用gets方法从用户处获取输入,但是它为字符串提供了新的一行。chomp提供了删除它的帮助,因为在字符串中进行某些时间处理时,由于大多数情况下换行符会产生问题,因此大多数情况下不需要在字符串中使用换行符。
排骨的使用
为了更好地低估排骨,让我们了解在没有排骨的情况下会发生什么?不使用chomp时,请阅读以下代码并分析输出。
puts "Enter your name" str=gets puts "Hi "+str+"Welcome to Nhooo."
这可能是人们可以用Ruby编写的最基本的程序。在这里,我们使用的是没有chomp方法的gets。在控制台上,当要求用户输入其名称时,字符串将隐式获得换行符。这将导致以下输出,
Enter your name Hitakshi Hi Hitakshi Welcome to Nhooo.
因此,您可以在上面的输出中观察到,在存在换行符的情况下,当需要打印字符串时,它会通过在新行中调整字符串的其余部分而在整个字符串之间产生间隙。毫无疑问,在新行中显示其余字符并没有负面影响,但是有时当整个字符串应该显示在一行中时,则会产生问题。
在这里,需要使用排骨。让我们通过将chomp方法附加到gets方法来对同一代码进行更改。修改后观察代码和输出。
puts "Enter your name" str=gets.chomp puts "Hi "+str+" Welcome to Nhooo."
修改后的输出如下:
Enter your name Hitakshi Hi Hitakshi Welcome to Nhooo.
您可以观察到上面的字符串正在同一行中打印,因为现在我们使用了chomp方法,该方法不允许\ n与该字符串附加。它用于切碎附加在字符串末尾的换行符。
Ruby的方法中定义了另一种方法,该方法的工作原理类似于chomp,称为chop,但有一个基本的区别,即chomp从字符串中删除\ n,而'chop'从字符串中删除最后一个字符。