2016-09-10 4 views
-3

Rubyの課題を解決しようとしていますが、低レベルで大きな問題があります?)数字の文字変換。"az"、 "AZ"、 "。"、 " n"、 ""のみを使用してRubyプログラムを書く方法

ちょうどあなたがあなたの画面文の元に印刷書き込みプログラム、する必要があることを、想像:

「ジョン・ドウは、2017年に誕生しました!」

次の文字のみを使用して[-ZA-Z。\ n]は実際に

(&大きな文字、ドット、スペースや改行小)、私はわかりませんどのように私がすべき答えを探すことさえ始める。

pack/unpackの方法を使用していますか?または見つけることができないtrivalソリューションがありますか?

"書き込みプログラム"が太字になっている理由があります。質問は、Rubyでプログラムの最も単純な定義は何ですか?

+1

これは、http://codegolf.stackexchange.comのいい仕事です。 – knut

答えて

2

文字、ドット、スペース、改行のみを使用して文字列を印刷するプログラムを作成することは、最初は不可能に思えるかもしれませんが、それほど難しくありません。

小文字と大文字はあなたがKernel方法(printputsなど)だけでなく、nilfalsetrueなどのkeywordsを呼び出すことができます。点を使用すると、明示的な受信者を使用してメソッドを呼び出すことができます。スペースを使用すると、メソッドに引数を渡すことができます。改行はコマンドを区切ります。

はのは "A" を取得してみましょう:

false       #=> false 
false.inspect     #=> "false" 
false.inspect.chars    #=> ["f", "a", "l", "s", "e"] 
false.inspect.chars.rotate  #=> ["a", "l", "s", "e", "f"] 
false.inspect.chars.rotate.first #=> "a" 

は今印刷 "ABC" をすることができます:

print false.inspect.chars.rotate.first 
print false.inspect.chars.rotate.first.succ 
print false.inspect.chars.rotate.first.succ.succ 
puts 

出力:

abc 

あなたがアイデアを得ます。

はい、同様の方法でスペース、句読点、数字を印刷することもできます。しかし、私はあなたにそれを残す。利用可能な方法を見て、創造的である。

スペースを使用せずに文字列を印刷する方法を理解するための追加ポイントは、ただ[a-zA-Z.\n]です。

+0

すてきな答えをありがとう!あなたのアドバイスで私は数分で私の問題を解決することができました:) – tchorzewski1991

+0

@ coder1991私は興味があります - あなたは '2017! 'をどうやって印刷しましたか? – Stefan

関連する問題