2017-09-19 2 views
0

Python hat einen Slicing-Operator, um eine Zeichenfolge oder Liste umzukehren.Gibt es einen Weg in Ruby, um einen String wie Python Slicing umzukehren?

Beispiel:

"foobar"[::-1] # raboof 

Gibt es eine solche Art und Weise existieren in Ruby, wo wir in umgekehrter Reihenfolge Schritt können?

EDIT: Ich bin nicht für eine Zeichenfolge Reverse-Lösung suchen, mit Ruby reverse oder reverse! oder einer anderen Logik. Ich wollte nur wissen, ob es in Ruby einen Slicing-Operator wie Python gibt. So ist es kein Duplikat von String Reverse Question.

Jeder Einblick darüber in Ruby würde geschätzt werden. Vielen Dank.

+0

Ruby-Saiten haben eine 'slice' [Methode] (https://ruby-doc.org/core-2.4.0/String.html# method-i-slice), das als '[]' aliasiert wird. Es wird verwendet, um einen String auf verschiedene Arten zu zerlegen. Es kann jedoch nicht zum Umkehren einer Zeichenfolge verwendet werden. Um eine Zeichenkette umzukehren, benutzen Sie die umgekehrte Methode – steenslag

+0

Sieht nicht so aus, als könnten Sie eine Zeichenkette durch Schneiden umkehren. Es gibt [ziemlich viele Optionen] (https://apidock.com/ruby/String/slice), aber ein Bereich, in dem die obere Grenze vor der unteren Grenze liegt, führt dazu, dass "" (leere Zeichenfolge) zurückgegeben wird. – ulferts

+0

@ulferts ja, genau negativ offsets gibt "" "zurück, wenn wir so etwas tun" "foobar". [- 1..3] 'und scheint es gibt keinen Weg, einen" Step "-Zähler zu haben, um sich in umgekehrter Richtung zu bewegen . – dp7

Antwort

2

können Sie die reverse Methode in Ruby verwenden:

"foobar".reverse #=> "raboof" 
+0

Danke für die Antwort, aber ich war nicht auf der Suche nach einer umgekehrten Reverse-Lösung mit 'reverse' Methode, sondern ich war interessiert zu wissen, ob es in Ruby wie in Python einen Slicing-Operator gibt. Ich konnte diese Antwort nach der Suche nicht finden, also habe ich diese Frage gestellt. – dp7

Verwandte Themen