-1
print('What is the day and hour (ex., Monday 08AM): ')
appoint = gets.slice[0..-4]
puts(appoint)

このエラーを返しています:

/scope.rb:2:in slice': wrong number of arguments (0 for 1..2) (ArgumentError) from /scope.rb:2:in'

slice[appoint.length..-4]また、いくつかの他のことを試しました。

他の質問を読んで、これがそのようなスライスが行われた方法であることがわかりました。私は正規表現パターンに精通していません。実際には、曜日も返すことができるようにしたいと思っています。これは、何らかの正規表現パターンを意味するfrom -5 back to input場合があります。everything up until the space

4

2 に答える 2

2

これが欲しいですか?

appoint = gets.slice(-4,4)

Monday 08AMそれが返すために:

08AM

次のようなスライスを使用できますslice(start, length)

あなたの場合start-4lengthです4

EDIT またはブラケットのみで:

appoint = gets[-4..-1]

文字列も文字の配列です。

于 2012-09-10T07:16:32.783 に答える
1

正規表現の例:

s = "Monday 08AM"

day = /[a-zA-Z]+/
s[day]
=> "Monday"

# \d? to also catch 8AM without 0 at the start
hour = /\d?\d[paPA][mM]/
s[hour]
=> "08AM" 

Ruby 1.9.3 docs の正規表現チュートリアル

于 2012-09-10T07:28:01.213 に答える