質問するログイン新規登録

回答編集履歴

2

誤字修正

2018/09/12 13:29

投稿

jnchito
jnchito

スコア357

answer CHANGED
@@ -24,7 +24,7 @@
24
24
  ![イメージ説明](0712b61c9d6cb93fbca2d5c0711dae19.png)
25
25
 
26
26
  それから、`ruby-book`ディレクトリを選択し、Selectボタンをクリックしてください。
27
- (画像では`ruby-book`が2つあるのでややこしいですが、`lib`や`test`のすぐ上にある`ruby-book`ディレクトリを選んでください)
27
+ (画像では`ruby-book`が2つあるのでややこしいですが、`lib`や`test`のすぐ上にある`ruby-book`ディレクトリを選んでください)
28
28
 
29
29
  ![イメージ説明](adfd3c2c1821252670791e5d69dc1b92.png)
30
30
 

1

Runボタンを使う場合の設定方法を追記

2018/09/12 13:29

投稿

jnchito
jnchito

スコア357

answer CHANGED
@@ -14,4 +14,45 @@
14
14
 
15
15
  具体的な方法はまだわからないのでこれから調べますが、「プロを目指す人のためのRuby入門」は基本的にターミナルから`ruby ./test/fizz_buzz_test.rb`のようなコマンドを打ちこんで実行することを想定しています。
16
16
 
17
- ですので、Runボタンでうまくいかないときは、ターミナルを使った実行方法に切り替えるようにしてください。
17
+ ですので、Runボタンでうまくいかないときは、ターミナルを使った実行方法に切り替えるようにしてください。
18
+
19
+ ## 追記: Runボタンを使う場合
20
+
21
+ Runボタンを使う場合の設定方法がわかりました。
22
+ 実行結果が表示されているペインにある、CWDボタン(CWD = Current Working Directory)をクリックします。
23
+
24
+ ![イメージ説明](0712b61c9d6cb93fbca2d5c0711dae19.png)
25
+
26
+ それから、`ruby-book`ディレクトリを選択し、Selectボタンをクリックしてください。
27
+ (画像ではは`ruby-book`が2つあるのでややこしいですが、`lib`や`test`のすぐ上にある`ruby-book`ディレクトリを選んでください)
28
+
29
+ ![イメージ説明](adfd3c2c1821252670791e5d69dc1b92.png)
30
+
31
+ この状態でRunボタンをクリックすれば、正常に実行できるはずです。
32
+
33
+ ![イメージ説明](c4fecfa28b6a000a04641ff0a50c5e0a.png)
34
+
35
+ ちなみにCWDを変更せずにRunボタンをクリックすると、`fizz_buzz_test.rb`があるディレクトリ(つまり`test`ディレクトリ)がカレントディレクトリになるようです。
36
+
37
+ いちいちCWDを変更するのが面倒な場合は、`require`の代わりに`require_relative`を使って`require_relative '../lib/fizz_buzz'`のように書けば、エラーを起こさずに実行できます。
38
+ (`require_relative`については3章の終わりの方にあるコラム、「require_relativeを使う場合」を参照)
39
+
40
+ ```ruby
41
+ require 'minitest/autorun'
42
+ require_relative '../lib/fizz_buzz'
43
+
44
+ class FizzBuzzTest < Minitest::Test
45
+ def test_fizz_buzz
46
+ assert_equal '1', fizz_buzz(1)
47
+ assert_equal '2', fizz_buzz(2)
48
+ assert_equal 'Fizz', fizz_buzz(3)
49
+ assert_equal '4', fizz_buzz(4)
50
+ assert_equal 'Buzz', fizz_buzz(5)
51
+ assert_equal 'Fizz', fizz_buzz(6)
52
+ assert_equal 'Fizz Buzz', fizz_buzz(15)
53
+ end
54
+ end
55
+ ```
56
+
57
+ とはいえ、本書は基本的に`require_relative`ではなく、`require`を使うスタイルで書いてあるため、`require_relative`を使うと別の予期しないトラブルが起きるかもしれません。
58
+ ですので、極力、本書の記述通り、`require`を使う(そして、Runボタンではなくターミナルを使う)ことをお勧めします。