問題タブ [learn-ruby-the-hard-way]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
114 参照

ruby - .read の結果を変数に代入しますか? (Rubyをハードに学ぶ Ex. 15/16)

私はプログラミングの初心者で、Learn Ruby The Hard Way に取り組んでいます。演習 15 では、テキスト ファイルを開いて読み取る方法と、それを画面に出力する方法を示します。次の演習では、冒頭で「.read」コマンドについて「ファイルの内容を読み取ります。結果を変数に割り当てることができます」と簡単に述べています。

私が知りたいのは、読み取りの結果を新しい変数に割り当てる方法だけです。演習 16 では、彼はそれを使用せず、書き続けます。数値を含むテキスト ファイルを読み取り、その数値を「.to_i」してブール値を返す短いスクリプトを作成しました。私は何かが欠けていることを知っています、そしてそれは私には合いません。

基本的に私が知る必要があるのは、txt.read 出力を新しい変数 (単に「変数」と呼ばれる) に割り当て、gets.chomp.to_i を使用してそれを整数に変換し、ブール比較が機能するようにすることだけです。どんな助けでも大歓迎です、ありがとう!

0 投票する
1 に答える
230 参照

ruby - Ruby を難しい方法で学ぶ 例 41. - 複数行の文字列はどうなっているの?

Ex41Learn Ruby the Hard Way私に困難を与えています。(つまり、「A Reading Test」の部分です。) http://learnrubythehardway.org/book/ex41.html

ここやウェブでその質問についての質問を見つけましたが、それらは演習の他の部分に関するものでした。Python で同じコードを調べて、2 つに基づいて何かを作成できるかどうかを試してみましたが、演習を開始する方法さえわかりません。

著者は次のように述べています。

このスクリプトを実行して、「オブジェクト指向のフレーズ」を英語に翻訳してみてください。PHRASES dict には両方の形式があり、正しい方を入力するだけでよいことがわかります。

私はそのコードを実行することになっていることを知っています。著者によると、これは単純なコードです。確かに、何でも、私はまだ立ち往生しています。私はまだそれをどうするかわかりません。

に格納されている長い文字列はどうなっていPHRASESますか? その部分を編集しますか、それともそのままにして新しい行を追加しますか?

### @@@との部分を変更し***ますか?そうしないと、クラス定義は次のようになります

もちろん機能しません。それらを変更する場合、何に変更しますか?

これに時間を費やすほど、私は混乱します。私は何日も立ち往生しており、知っていることさえ忘れているように感じ始めています。

誰かが私を正しい方向に向けることができれば、それは大歓迎です。

0 投票する
1 に答える
58 参照

ruby - Ruby でクラス/オブジェクトから配列を呼び出す方法 (演習 42 で ruby​​ を難しい方法で学ぶ)

私はスタック オーバーフローと Ruby の両方にまったく慣れていないので、何かを正しくフォーマットしていない場合は事前にお詫びしますが、オブジェクトを介して親クラスから配列の値を呼び出したり表示したりする際に助けていただければ幸いです。

次のコードは、本 Learn Ruby the Hard Way (exercise 42) の一部として私が行っているタスク/学習ドリルです。

以下は、スクリプトを実行したときにターミナルが返すものです (基本的には空のスペース)。

構文が間違っているか、配列/ハッシュを間違って作成していると思います。これについて何か助けていただければ幸いです。

私の目的は、基本的に、クラス内の配列とハッシュから値を関連オブジェクトに渡してから、それらの値を呼び出すことです。

前もって感謝します!

0 投票する
1 に答える
73 参照

ruby - 「Ruby を難しい方法で学ぶ」が欠落していると、演習 14 に出力が表示されます

私は現在、友人と演習 14 に取り組んでいます。これは、非常に単純な文字列補間とユーザー入力の取得です。私のコードは次のようになります。

かなり単純に動作するはずですが、私が見つけたのは、likes=行の後に、「どこに住んでいますか」を求める次の行が画面に表示されないにもかかわらず、lives=プロンプトが表示されることです。つまり、「いいね」を入力した直後に、以前のプロンプト出力を表示せずに「ライン」プロンプトにジャンプします! で始まる次のプロンプトはcomputer=、期待どおりに機能します。

Ruby 2.1.2 を使用していますが、2.2.3 でも同じ動作が見られます。オンライン REPLはこちら

なぜこれが起こるのですか?

0 投票する
1 に答える
232 参照

ruby - Ruby The Hard Way 演習 13 ARGV が PowerShell で機能しない

私は使っている:

  • ruby 2.2.4p230 (2015-12-16 リビジョン 53155) [x64-mingw32]
  • メモ帳++
  • Windows 上の PowerShell v. 1.0

PowerShell で以下のコードを実行すると:

私は得る:

次の演習のコードを ARGV でコピーしようとしましたが、同じエラーが発生します。

先に進みたいのですが、うまくいかない場合は、この本または次の本で立ち往生します。お時間をいただきありがとうございます!

0 投票する
1 に答える
1487 参照

ruby - アプリで Sinatra Gem が必要な場合の LoadError

私は以下を提供するチュートリアルhttp://learnrubythehardway.org/book/ex50.htmlに従っています:

最も基本的な Sinatra アプリケーションを作成します。次のコードを に入れますbin/app.rb

問題なく gem と Sinatra をインストールしました。app.rbまた、チュートリアルからローカルbin/app.rbファイルにコピーしました。

私はそれを実行しました:ruby bin/app.rb

ターミナル出力:

実行するrake testと、テストに合格します。どうしたの?

0 投票する
0 に答える
60 参照

ruby - Ruby: メソッドで変数を変更するときにエラーが発生しました

私はウェブサイトを構築できるように Ruby を学ぼうとしてきましたが、Ruby を難しい方法で学ぶことから始めるのが良いと言われました。私は演習を行ってきましたが、ex36で立ち往生しました。テキストベースの小さな決定ゲームを書くことになっています (冒険のスタイルを選んでください)。私は自分のものを書いて、それが理にかなっていると思いましたが、いくつかの新しい機能を試しています。

プレイヤーがストーリーを進めるにつれて変化するいくつかの変数を作成してみました。エンディングはこれらの変数 (魂、生命、富、借金) に依存します。

ナレーターの話は取り去りましたが、二重引用符は残しました

私はそれを実行しましたが、最初に設定した変数に問題があるようです。それらを「処理」しようとするたびに(数値を追加するか、数値よりも大きいか小さいかを確認します)、エラーが発生します。

私はこれが起こる状況を探していて、いくつかありました:

私は何を間違っていますか?私はコーディングの経験がないので、おそらくいくつかの基本的なエラーを行っているだけです。ここで回答を見つけようとしましたが、同様のエラーのある回答はこのケースには当てはまらないか、少なくとも私は当てはまりません'それらがどのように適用されるか理解できません。変数を定義して、途中でメソッドを変更することはできませんか?

助けてくれてありがとう。

0 投票する
1 に答える
32 参照

ruby - ハッシュのキーに対応する値が表示されない

わかりました、私は答えを求めるためにここにいるのではありません。しかし、正直なところ、私はクラス変数があまり得意ではありません。ですから、このコードで私を案内していただければ幸いです。

これらのドキュメントでクラス変数を読みました。私はそれをどういうわけか理解しています。しかし、それは私自身の使用のためにそれを適用することになります。私は混乱するでしょう。

このコードについて説明します。基本的に、Square オブジェクトを作成するたびに、initialize メソッドに移動します。乱数が生成されて @@length に渡され、@@length がハッシュ @@sqArray にキーとして割り当てられます。しかし、問題は、新しいオブジェクト s1 を作成するときです。エリアを表示したいときは、ハッシュ @@sqArray をテストして、長さをキーとして、面積を値として出力します。しかし今、問題はその領域のみを返すことだけです。たとえば、114 のみ。たとえば [ 24 => 114] であるとします。