私は、ユーザーの入力を受け取り、各文字を右にシフトするプログラムを書いてみたい(a = b、b = c、c = dなど)。入力をこのように間隔を空けずに、どうすればいいでしょうか?ルビーを学ぶための単純な陰謀?
答えて
:このよう
input = ...
encrypted = input.bytes.map {|b| (b == 255 ? 0 : b+1).chr }.join
decrypted = encrypted.bytes.map {|b| (b == 0 ? 255 : b-1).chr }.join
decrypted == input # => true
私はあなたに解決策を書いていないよ、それは本当に簡単です。
Rubyの文字列操作について読む必要があります。
http://blog.grayproductions.net/articles/ruby_19s_string
http://ruby-doc.org/core/classes/String.html(tr
を探してください)
、あなたがしたい場合は、最後の一つは1.8.7と1.9.1
http://abhilekh.wordpress.com/2009/10/22/ruby-1-8-7-vs-ruby-1-9-1/
シンプルな暗号化に興味がある方は、簡単にプログラムできるRC4を見て、シーザーのサイファーよりもはるかに強力です。 – rossum
の違いについて良い記事です単語内のすべての文字を1桁右にシフトするには、Arrayクラスのrotate
メソッドを使用して文字列に戻します。
irb(main):008:0> word = "helloworld"
=> "helloworld"
irb(main):009:0> array = []
=> []
irb(main):010:0> word.each_char { |c| array << c }
=> "helloworld"
irb(main):011:0> array
=> ["h", "e", "l", "l", "o", "w", "o", "r", "l", "d"]
irb(main):012:0> array = array.rotate(-1)
=> ["d", "h", "e", "l", "l", "o", "w", "o", "r", "l"]
irb(main):014:0> array.join('')
=> "dhelloworl"
希望は2年後です!
Lolありがとう!私はこの質問を書いたことを覚えていないが、私は再びルビーを学ぼうとしているので、確かにこれを行うだろう! –
- 1. 陰謀団「データファイル」
- 2. ggplot別の伝説や陰謀
- 3. Pythonを学ぶ:単純な関数を書く
- 4. 新しい言語を学ぶための簡単な教訓
- 5. Netwireを学ぶための簡単な演習?
- 6. 単純な数学のゲーム
- 7. drupal7を学ぶ簡単なモジュール開発
- 8. エントリレベルのJavascriptを学ぶためのベストウェブサイト?
- 9. Cを深く学ぶためのプログラミングリソース
- 10. iCloudを学ぶためのヘルプ
- 11. ビットプログラミングを学ぶためのリソースは?
- 12. Emacsを学ぶためのリソース
- 13. RaphaelJsを学ぶための良いリファレンス
- 14. チェリーピープルを学ぶためのヒント
- 15. SEOのテクニックを学ぶためのベストと簡潔なリソース/リンク?
- 16. 単純なカードゲームのためのPythonネットワーキングライブラリ
- 17. 単純なクエリのためのHibernate
- 18. 形式を学ぶための高品質なRコード
- 19. 高度なデバッグ手法を学ぶためのヒントやリソース
- 20. ソーシャルソフトウェアを作るために必要な人類学を学ぶには?
- 21. Javaを学ぶのを始める
- 22. どのようにアンドロイドの陰謀の影の効果を作るには?
- 23. Cを学ぶことなくObjective-cを学ぶC
- 24. ダイレクトコンピューティングを学ぶための優れたウェブリソースですか?
- 25. PHPプログラマーのためにC#またはVBを学ぶ?
- 26. PyPNGで単純な塗りつぶしのボックスを描く
- 27. 埋め込みGSMを学ぶ
- 28. ユニティを学ぶ最も簡単な方法
- 29. 本を探す本物のRUPを学ぶためのアプローチ
- 30. Ruby on Railsを学ぶときは、単にRailsを学ぶだけでなく、それに関連する技術を学ぶだけでいいですか?
あなたが試したことを私たちに見せてください。 –