ルビー、ruby の、初心者向けで良い本、教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

たのしいruby


が初心者用です。
https://www.amazon.co.jp/%E3%81%9F%E3%81%AE%E3%8 …

もし、ruby以外の他の言語は精通していて、rubyだけが初心者なら
Ruby逆引きハンドブック
がよいかと。
https://www.amazon.co.jp/Ruby%E9%80%86%E5%BC%95% …
    • good
    • 0
この回答へのお礼

ありがとうございます。実は、Java を独習しているのですが、難しいし、これからは、パイソンだとか、ruby だとか、go だとか、しかも、そちらの方が、易しそうなので、乗り換えようかな?と思ってます。

宗教じゃあないんだから、柔軟に考えないと。プログラミングは、硬直した考えでは、ダメですから。

要するに、これから、需要が増えて、国内に話者が少ない言語を学んだ方が良いですよね。

お礼日時:2017/04/17 20:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

QRuby初心者です。

Ruby初心者です。

Rubyから違うファイルを実行する場合について教えてください。

例えば、test.batに
echo off
echo.

SET /p INPUT="Input string =>"
echo %INPUT%

pause
のように記述されており

これをRubyから実行し、
入力もRubyからするにはどうしたら良いでしょうか?

つまり、Rubyからtest.batを実行し、自動で入力も行いたいです。
echoの内容もコマンドプロンプトから確認したいです。


また、RubyからBuildコマンドを実行したいと思います。
Buildは別プロセスで動いている状態になっていると思いますが、
Build中はRubyはどのような状態になるでしょうか?

RubyからBuildした場合、Build動作が重くなることを懸念しています


有識者の方、よろしくお願いします。

Aベストアンサー

test.batに文字を渡すだけなら

IO.popen("test.bat", "w") do |out|
out.puts "foobarbaz"
end


test.batの出力をRubyスクリプトで受け取るなら、こんな感じでどうでしょう。
require 'open3'
Open3.popen3("test.bat") do |stdin, stdout, stderr|
stderr.close
stdin.puts "foobarbaz"
stdin.close
while line = stdout.gets
puts "ruby : " + line
end
end

う~ん、pauseで停止しませんね。


> Buildは別プロセスで動いている状態になっていると思いますが、
> Build中はRubyはどのような状態になるでしょうか?

よくわかりませんが、Buildのプロセスの終了待ちではないでしょうか。

Q【Ruby初心者】簡単なプログラムが実行しない

教材でRubyを勉強中なのですが、以下のプログラムが実行されず爆死しています。

---
puts("整数を入力してね")
number = gets.to_i
if number > 0 then
puts("正の数です!”)
end
---



文字コードは、UTF-8で指定、OSはMacです。CotEditorを使用しています。
数字/アルファベットだけのプログラムは正常に実行されるのですが、
文字入りのプログラムがうまく実行されません。

プレビュー見ると文字化けしているので(添付画像参照)、
文字入力にバグが起因していると思われますがお手上げ状態です。

Aベストアンサー

ruby 2.0.0p353
で実行しましたが、質問欄をそのままコピーをすると

test.rb:4: unterminated string meets end of file
test.rb:4: syntax error, unexpected end-of-input, expecting ')'

とエラーがでます。

puts("正の数です!”)
の”が全角になっています。
puts("正の数です!")
で実行してみてください。

それでも駄目でしたらruby -vでバージョンを確認してください。
1.8.7なら
require 'jcode'
$KCODE="u"
最初に加えてみてください。

Qruby初心者です

RDEを使っています。

input_value = gets
puts input_value
p input_value    を書くと、上に書いたprint文などより先に左下のコンソールに
先に入力するようになります。
コマンドで実行するとうまくいくのですが。
何か設定が間違っているのでしょうか?
教えていただければたすかります。

Aベストアンサー

私の環境(windows7-64ビット)ではRDEが実行できないので、推測になりますが、
STDOUT.sync = trueをスクリプトの最初に追加してみてください。
RDEのfaqに記述されています。

参考URL:http://rubyde.sourceforge.net/hiki/ja/FAQ.html

QRuby と Ruby on Rails

Ruby と Ruby on Railsは何が違うんでしょうか?

漠然とした質問ですいません。

Aベストアンサー

「日本語」と「書類作成テンプレート」みたいな物です。
日本語が出来ても、それだけで仕事が出来るわけではありませんよね。
どんなに優れた言語があっても、それで優れたシステムが作れるわけではありません。
むしろ、優れた開発支援システム(=フレームワーク)を使うために、そこで使われる言語を選ぶ場合があります。

Qrubyプログラムからrubyプログラムを複数起動するには?

どなたかご存知の方。教えてください。
rubyの中で別のrubyのプログラムを起動したいのですが、
どのように記述したら良いでしょうか?
この際の親プログラムは子プログラムを起動する事だけが目的なので、
子プログラムの実行結果の取得はせずに、子プログラム起動後即終了するようにしたいです。

初心者なものでどのようにしたら良いかわからず、困っています。
よろしくお願いします。

Aベストアンサー

#4です。
fork & execが定番のやり方になります。
以下のようなスクリプトを作ってください。
ファイル名:test_fork.rb
--------------------------------
def start_proc(ruby_script)
pid = fork do
exec("/usr/bin/ruby" + " " + ruby_script)
end
end
print "main start\n"
start_proc("test1.rb")
start_proc("test2.rb")
print "main end\n"
-----------------------------------
start_procはruby_scriptを引数として、そのスクリプトをバックグラウンドで起動します。
(そのスクリプトの終了を待ちません)
テスト用に以下の2つのスクリプトを起動しますので、以下のスクリプトも作成してください。

ファイル名:test1.rb
------------------------------
print "test1.rb start\n"
sleep(10)
print "test1.rb end\n"
-------------------------------

ファイル名:test2.rb
-----------------------------
print "test2.rb start\n"
sleep(5)
print "test2.rb end\n"
-------------------------------

ruby test_fork.rb を実行します。
実行結果は以下のようになります。
-------------------------------------
main start
main end
test1.rb start
test2.rb start
test2.rb end
test1.rb end
-------------------------
test_fork.rbはテスト用スクリプトを起動後、直ちに停止しています。
尚、今回、start_proc("test1.rb")はフルパスでパス名を指定していません。(手抜きです。)
実際に運用される場合は、start_proc("/aaa/bbb/test1.rb")のようにフルパスで指定してください。

当方の環境は以下の通りです。
centos 6.5
ruby 1.9.3p551

#4です。
fork & execが定番のやり方になります。
以下のようなスクリプトを作ってください。
ファイル名:test_fork.rb
--------------------------------
def start_proc(ruby_script)
pid = fork do
exec("/usr/bin/ruby" + " " + ruby_script)
end
end
print "main start\n"
start_proc("test1.rb")
start_proc("test2.rb")
print "main end\n"
-----------------------------------
start_procはruby_scriptを引数として、そのスクリプトをバックグラウンドで起動します。
(そのスクリプトの終了を...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報