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

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

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

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

Q&A

3回答

722閲覧

javascriptを覚えていく手順

FilmWindow

総合スコア11

JavaScript

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

0グッド

2クリップ

投稿2018/08/08 17:34

編集2022/01/12 10:55

https://paiza.jp/learning/page/problems

こちらのpaizaラーニングの問題でjavascriptを覚えたいと思っています。
早速問題を解こうと思ったのですが、何から書けばいいか分からず止まりました。

JavaScript入門編は、一通りやりました。
ですが、ずっとクエスチョンマークが頭に浮かんでしまいます。

paizaラーニングの中でも、最も簡単である問題。
https://paiza.jp/learning/page/problems
の掛け算も、うまくいきません。

var kakezan = a*b console.log(kakezan);

では、駄目みたいです。
進みたいのですが、何が駄目なのかも分からずじまいです。

どうしても、javascriptを覚えたいと思っています。
ですが、出だしでどの方向に進むのかが分からないです。

javascriptを習得している方は、どのような手順で覚えていきましたか?
javascriptを書けるようになるため、何かアドバイスがいただけたら嬉しいです。

ひとつ、よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2018/08/08 20:50

タイトルには要件を記載してください。現在のタイトルだと https://paiza.jp/guide/kiyaku 第12条(禁止行為)(3)に当たるではないかと一瞬疑ってしまいます。(いずれにしてもログイン必要なページURLが貼られているので慎重に扱うべきです)JavaScriptに関する質問であることはタグにより分かるので、もう少し具体的に要件をタイトルで表現してもらえると回答を得やすくなると思います(質問内容もその観点から調整いただけると助かります)
FilmWindow

2018/08/09 02:48

ご指摘ありがとうございます。確かに誤解を招くタイトルでした。すみません。
guest

回答3

0

値の取得の仕方については以下のページが参考になります。

paiza: 値取得・出力サンプルコード
https://paiza.jp/guide/samplecode.html

上記の例の javascript のコードは、 input.txt に次のように書き、

2 2,5 3,4

次のようにコマンドライン上で実行すると動きます。

$ cat input | node test.js hello = 2, world = 5 hello = 3, world = 4

paizaの問題はこの方式で値が渡されます。
標準入力の扱いは、D問題の本題よりも明らかに難しいので、ここでつまずいてしまっても気にしなくてオッケーです。

投稿2018/08/08 19:35

set0gut1

総合スコア2413

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

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

FilmWindow

2018/08/09 02:53

回答ありがとうございます! 入門編で学んだ内容だけだと、解けない問題なのでしょうか。 他の解説動画では、Rubyで「gets.to.i」を書いていました。 でも、入門編では、そのような記述がありませんでしたし、 javascriptでの「gets.to.i」に該当するのも、調べても出てこないです。
set0gut1

2018/08/09 03:55

javascript で標準入力を扱うことってあまり無いので、入門編に無いのもしょうがないかと思います。 Ruby の gets.to.i 便利ですよね。 競技プログラミング系の標準入力読み込みだと C++ もかなりやりやすいです。 (C++ で読み込みやすいフォーマットが採用されているのかも知れません。未調査。)
FilmWindow

2018/08/09 06:25

返信ありがとうございます! >javascript で標準入力を扱うことってあまり無いので、入門編に無いのも>しょうがないかと思います。 そうなのですね。 出てこないので、どうしたものか・・・と思ってました。 プログラミング言語、深いです。
guest

0

paizaではNode.jsという処理系を用いています。Node.jsを導入するには3つの方法があります。

  1. Node.jsをインストールする
  2. Nodistをインストールする
  3. paiza.ioというサイトを利用する

JavaScriptは動的なサイトを作るための言語であり、HTMLの中に記述するのが普通です。Node.jsは、JavaScriptをブラウザの動作以外で使用するという目的で導入されました。paizaは競技プログラミングという分野のプログラミングを主に扱っています。競技プログラミングではtty(標準入出力を使用したプログラム)を扱うのでJavaScriptではNode.jsという処理系が必要になります。

Node.jsはコールバックという仕組みを多用するので、実は競技プログラミングにおいては記述が難しかったりします。とはいえ、Node.jsが提供するライブラリは種類が限られているのでそれほど学習コストはかかりません。Node.jsで標準入出力を扱うためにはNode.jsのライブラリを使用します。そのドキュメントはNode.jsのサイトにあります。

https://nodejs.org/ja/docs/

もしNode.jsの記述の仕方が分からないのであれば、AOJという競技プログラミングのサイトを併用することをおすすめします。AOJでは、他の解答者のコードを見ることができます。それらのコードを見ることによってより効率的なNode.jsの運用ができるようになります。ただしAOJで導入されているNode.jsのバージョンはpaizaのものよりだいぶ古いです。とはいえ、新しいNode.jsでも古いNode.jsの記述は大抵動作します。

WindowsでNode.jsのデバッグをするときに問題になるのが、標準入力です。WindowsのNode.jsでデバッグし、AOJにアップロードしている私のコードの冒頭を示します。

JavaScript

1//config = {stdin: 'tmp', newline: '\r\n'}; // win 2config = {stdin: '/dev/stdin', newline: '\n'}; // linux 3 4line = require('fs').readFileSync(config.stdin, 'ascii') 5 .split(config.newline, 2); 6 7number = line[0].split(' ');

Windowsでは/dev/stdinが使えないのです。しかもLinuxとは改行コードが異なります。なのでNode.jsにこのような記述をすることでプラットフォームの問題を解決することができます。ただしWindowsのデバッグのために毎回tmpというファイルに入力を書き込んでいます。

冒頭でNode.jsとNodistを紹介しましたが、AOJとpaizaの両方にトライしたい場合はNodistが必須です。NodistではNode.jsのバージョンを簡単にスイッチさせることができます。Node.jsをインストールした場合、古いNode.jsを導入させることは難しいです。それはpaiza.ioでもそうなので、AOJを解きたい場合はNodistをインストールします。

投稿2018/08/09 12:51

anndonut

総合スコア667

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

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

FilmWindow

2018/08/09 14:23

回答ありがとうございます! 正直、ほとんどがよく分かりませんでした。 実際に記述して、動かしていく方が良いと思うのですが、 言語選択と環境構築の段階でつまづいています。
guest

0

なぜjsを覚えたいかにもよりますが、jsで標準入力を扱うことはそれほど重要なことではないように思います。そこで躓くのであれば、他の教材をさがしてみることをおすすめします。
(何でもそうですが、教材というのは合う合わないがあるので、分からないと思ったら次にすすんだほうがいいと思います)

あるいは、

ですが、ずっとクエスチョンマークが頭に浮かんでしまいます。

の具体的な内容を質問したほうがいいのではないかと思います。

投稿2018/08/09 01:29

papinianus

総合スコア12705

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

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

FilmWindow

2018/08/09 02:57

回答ありがとうございます! javascriptを覚えて、ローカルで動くツールが作りたいです。 >ですが、ずっとクエスチョンマークが頭に浮かんでしまいます。 基本的な書き方とかは、入門編などで勉強しています。 ですが応用というか、それを何も書かれていないところへ書くとなると、 「何から書けばいんだっけ?」と立ち止まってしまいます。 もっとも簡単な、掛け算の出力をしてみても、 何かが足りないようで、次に進めない状態です。
papinianus

2018/08/09 03:21

ローカルで動くっていってもGUI(画面)があるものですよね。多分標準入力は使わないのでは。 今の段階では難しいのかもしれないですが、計画をたててみて、計画を分割していって、個別の機能を作ってみる、とかですかね。 もしくは、こういうの作りたい(部分的にでも)っていうオープンソースアプリを探してきて、真似するとか。
FilmWindow

2018/08/09 06:52 編集

返信ありがとうございます! どうやら、visual studioとC#の組み合わせがいいのかもしれないです。 計画建てて、やってみます!
papinianus

2018/08/09 09:25

他の質問も見ましたけど、webアプリっぽいとか。色々な環境で同じように動かすとかではないのですね(ちなみにc#も色々な環境で動くのですが)… モノにもよるし、向き不向きもあるけれども、だいたいにおいてプログラム初心者がwindowsでローカルアプリならC#一択です。visual studioを楽しんでください。
FilmWindow

2018/08/09 14:24

>webアプリっぽいとか。色々な環境で同じように動かすとかではないのですね そうなんです。 ローカルで、ブログ記事などを書くのに便利なエディタを作りたいと思っています。 C#→jacascriptという方が、段階を踏むという点でいいのかも・・・?
papinianus

2018/08/10 01:54

エディタなんですね。確かにatomとかelectronのものがありますからね。でもC#はvsがあるから便利 C#行ったらtypescriptになりそうですが。
FilmWindow

2018/08/10 03:52

回答ありがとうございます! typescriptというのは、どうやらC#、javascriptに影響を受けた言語なんですね。 双方に影響受けた言語となると魅力的に写ります。 ですが、学習サイトにはないみたいです。 ということは、マイナーな言語なのかもしれないですね。 一つ恐れているのが、覚えたとしても、 その言語が使えなくなることです。 言語って、たくさんあるんですねぇ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問