私はループを持っていて、文字列をi +(i-1)の値に代入したいが、どのように進めるか分からない。このコードでRuby - 文字列内の評価
(1..50).each do |i|
answer = "#{i+(i-1)}"
end
それが最終的にデータベーステーブルに関連するだろうと答えは文字列でなければなりません。
文字列内でこれを評価する最も良い方法は何ですか、私はこれのいくつかのバリエーションを試しましたが、何か役立つポインタが大いに感謝するように運がなかった。
私はループを持っていて、文字列をi +(i-1)の値に代入したいが、どのように進めるか分からない。このコードでRuby - 文字列内の評価
(1..50).each do |i|
answer = "#{i+(i-1)}"
end
それが最終的にデータベーステーブルに関連するだろうと答えは文字列でなければなりません。
文字列内でこれを評価する最も良い方法は何ですか、私はこれのいくつかのバリエーションを試しましたが、何か役立つポインタが大いに感謝するように運がなかった。
多分このようなものでしょうか?
(1..50).map{|i| i + (i-1)}.map(&:to_s)
Map
返し、その後Rage
を取り、各要素に対してブロックに書かれた加算を行うとします、我々はより多くのmap
と&:to_s
に一度渡しArray
は(Array
とRange
が列挙型である)にto_s
をオンRubyのシンタックスシュガーである変換マップに渡すことができるブロック。それは等しいです.map {|i| i.to_s}
'sth'は使わないでください。 Stack Overflowはディスカッションフォーラムではありません。オンライン参考書のようなものです。正確な文法と明確さを重視しています。また、コードが問題の解決策である理由を説明してください。単にコードを渡すだけでこの問題は解決されます。それを使用する理由を説明することで、同様の問題が発生しても将来的に役立ちます。 –
申し訳ありませんが、私の悪い。あなたが提案したとおりに修正しました – Jan
どのような結果を見たいですか? – rootatdarkstar
私は、i = 20の場合、回答が39などを返すような形式で回答したいと考えています – Nowandthen98
なぜそれをしたいのか説明することは役に立つかもしれません。一般的に、文字列にコードを貼り付けて評価することはお勧めしません。また、 'eval'を使用しないコードを動的に生成する方法もあります。今はXY問題のように聞こえ、Xの代わりにYについて質問しています。 –