簡體   English   中英

Ruby的Python輸出相當於什么[:-1]?

[英]What's the Ruby equivalent of Python's output[:-1]?

在Python中,如果我想獲取字符串的前n個字符減去最后一個字符,則可以執行以下操作:

output = 'stackoverflow'
print output[:-1]

什么是Ruby等價物?

我不想太挑剔,但如果您想更像Python的方法,而不是執行"StackOverflow"[0..-2] ,則可以"StackOverflow"[0...-1]進行"StackOverflow"[0...-1]同樣的結果。

在Ruby中,具有3個點的范圍排除了正確的參數,而具有2個點的范圍包括了該參數。 因此,在進行字符串切片的情況下,這三個點與Python的語法更加接近。

您當前的Ruby並沒有按照您的描述進行操作:它會截斷最后一個字符,但也會反轉字符串。

與Python代碼段最接近的等效項是

output = 'stackoverflow'
puts output[0...-1]

您最初使用..而不是... (如果您執行output[0..-2] ); 前者關閉-后者關閉-打開。 Python中的切片(以及大多數其他所有內容)都是關閉的。

"stackoverflow"[0..-2]將返回"stackoverflo"

如果您要做的只是刪除字符串的最后一個字符,則也可以使用“ chop”方法:

puts output.chop

要么

puts output.chop!

如果您只想刪除最后一個字符,也可以

output.chop

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM