質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1598閲覧

javascriptの言語にで、データの読み込みについて

tidavest

総合スコア595

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/03/30 12:37

process.stdin.resume(); process.stdin.setEncoding('utf8'); var input_string = ""; var reader = require('readline').createInterface({ input: process.stdin, output: process.stdout }); reader.on('line', (line) => { // ここで入力を処理する input_string = line; }); reader.on('close', () => { // ここで出力する console.log(input_string); });

上記のコードを体系的に教えていただきたいのですが、eラーニングのpaizaで学んでいるものです。
しかし、解説では、理解できないコードがあるので、質問するという経緯に至りました。

まず、
process.stdin.resume();
process.stdin.setEncoding('utf8');
こちらの2行コードは、こういうものだと覚えてくださいという解説なので、飛ばします。

var input_string = "";
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
こちらの ""; という部分は、なにかどこからかデータを読み込むということでしょうか。
var reader = require('readline').createInterface({ は、readerという変数に代入しているのだと思うのですが、requireは、読み込む。その後の('readline').createInterfaceという部分が、どういう意味かわかりません。教えてください。

input: process.stdin,
output: process.stdout
こちらは、何か読み込んで、記述するということでしょうか。

reader.on('line', (line) => {
// ここで入力を処理する
input_string = line;
});
こちらのread.onとは、何でしょうか。その後の、('line', (line) => もわかりません。
input_string = line; こちらは、最初に記述した変数にlineというものを代入しています。
lineとは何なんでしょうか。

reader.on('close', () => {
// ここで出力する
console.log(input_string);
こちらのread.onとは、何でしょうか。('close', () => も意味が分かりません。

長々となってしまいましたが、上記説明箇所で、比較的詳しい説明を求めます。
ご回答お待ちしております。どうぞ、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/03/30 12:47

結局「全て解説して」になっていませんでしょうか。 質問の範疇を超えていると思います。 もう少し自身が調べたこと試したことを記載いただけますか。
gentaro

2020/03/30 14:00

まず入門書一冊読んだ方が体系的で正確な知識が身につきますよ。
guest

回答2

0

var input_string = "";
こちらの ""; という部分は、なにかどこからかデータを読み込むということでしょうか。

"" は単に空の文字列ってことです。(""; をセットにすると顔文字に見えますね。)

var reader = require('readline').createInterface({ は、readerという変数に代入しているのだと思うのですが、requireは、読み込む。その後の('readline').createInterfaceという部分が、どういう意味かわかりません。教えてください。

まず、require('readline') は 'readline' というモジュールを読み込みます。で、たぶんこの場合はオブジェクトが返ってくるので、それが持ってる createInterface メソッドを呼び出して、その結果を reader という変数に代入しています。

input: process.stdin,
output: process.stdout
こちらは、何か読み込んで、記述するということでしょうか。

これは、前後の行の { 〜 } と合わせて読む必要があり、オブジェクトリテラルになります。

reader.on('line', (line) => {
// ここで入力を処理する
input_string = line;
});
こちらのread.onとは、何でしょうか。その後の、('line', (line) => もわかりません。

read.on は reader オブジェクトの on メソッドを呼び出してます。その引数が 'line' という文字列と (line) => { 〜 } というアロー関数になります。

質問内容を見る限り、ここで質問する前に JavaScript の入門書を読んで、基本的な文法を習得されることを強くお勧めします。

投稿2020/03/30 21:50

hoshi-takanori

総合スコア7895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

...................

投稿2020/04/15 06:36

tidavest

総合スコア595

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問