<!DOCTYPE html PUBLIC "-//W3c//DTD// HTML 4.01 Transitional//EN">
<html lang="ja">
<head><title>Junior-Doctor Chokai Academy</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap" rel="stylesheet">
<link href="https://use.fontawesome.com/releases/v5.15.1/css/all.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="../jdmain.css">
<link rel="stylesheet" href="../testpage/responsive.css">
<script type="text/javascript" src="../jdinit.js"></script>
</head>
<body>
<header id="header">この部分は header.html に置き換わる</header>
<h1 class="section-title" style="margin-top: 5rem;">FAQ・アドバイス集</h1>
<div class="faq-list">
<h2 class="faq-section">操作・コマンド編</h2>
<dl>
<dt>Emacsの画面が2画面になって見にくい</dt>
<dd>C-x 1を押す</dd>
</dl>
<dl>
<dt>ファイル名を間違えてプログラムを作成した </dt>
<dd>emacsでC-x C-wを押すとファイル名を書き換えられる</dd>
</dl>
<dl>
<dt>プログラムを実行する、作成するときの文字打ち</dt>
<dd>最初の文字をある程度打ち込み、Tabキーを押す</dd>
</dl>
<dl>
<dt>カーソルを合わせるとき</dt>
<dd>マウスやパッドではなく、キーボード右下の矢印キーを使う</dd>
</dl>
<dl>
<dt>プログラムの最初の2行目を書くのがめんどくさい</dt>
<dd>1行目は書かなくてはならない<br>
2行目は書かなくて良い(勝手に打ってくれるから)
</dd>
</dl>
<dl>
<dt>プログラムの2行目の「#-*- coding:utf-8 -*-」にemacsutf8が保存のときに打たれる</dt>
<dd>C−x C-m f utf-8 [Enter]</dd>
</dl>
<dl>
<dt>プログラムが見にくい</dt>
<dd>C-SPCで範囲指定をしてからC-iを押すと範囲内のインデント(段落)をそろえることができる無駄な空白の行を入れない</dd>
</dl>
<dl>
<dt>スライドにある\(円マーク)を打ちたい</dt>
<dd>\と¥は一緒</dd>
</dl>
<dl>
<dt>プログラムが終わらない(∞ループになった)</dt>
<dd>C-cを何回か押す</dd>
</dl>
<h2 class="faq-section" >入出力処理編</h2>
<dl>
<dt>文字が変数に入らない </dt>
<dd>ダブルコーテーション(””)をつける</dd>
</dl>
<dl>
<dt>%が最後にでてくる</dt>
<dd>print("~~\n")またはputs("~~")と書く</dd>
</dl>
<dl>
<dt>%dや%sがそのまま出てくる</dt>
<dd>printfで出力する</dd>
</dl>
<dl>
<dt>プログラムに空白を出力したい、段落を付けたい</dt>
<dd>print("\n")またはputs("")を段落を付けたい場所に書く</dd>
</dl>
<h2 class="faq-section">演算編</h2>
<dl>
<dt>nil</dt>
<dd>nilは値が何もないときに出てきます。配列などで指定したところに値があるかを確認しましょう</dd>
</dl>
<h2 class="faq-section">制御構造編</h2>
<dl>
<dt>breakやredoが反応しない </dt>
<dd>whileの中にないと反応しません <br>
while <br>
~~ <br>
redo <br>
end <br>
のようになっているか確認する
</dd>
</dl>
<dl>
<dt>elseのときにしか次に進まない</dt>
<dd>
if <br>
~~ <br>
else <br>
~~ <br>
次にしたいこと <br>
end <br>
になっているかも
</dd>
</dl>
<h2 class="faq-section">配列編</h2>
<dl>
<dt>配列に値を入れたい</dt>
<dd><<またはpushを使う <br>
配列名<<値 <br>
配列名.push(値)
</dd>
</dl>
<dl>
<dt>配列の値を取り出したい </dt>
<dd>shiftまたはforを使う <br>
先頭の値を取り出すとき<br>
配列名.shiftを使う<br>
一定数、全部取り出すとき<br>
for 変数 in 配列名<br>
</dd>
</dl>
<dl>
<dt>配列から値を取り除きたい</dt>
<dd>配列名.dekete_at(x)(xは取り除きたい値の添字)で取り除くことができる</dd>
</dl>
<h2 class="faq-section">メソッド定義(def)編</h2>
<dl>
<dt>defの中の値をdefの外で使いたい</dt>
<dd>基本的にdefの中と外では違う世界になっている
一応retrunする値をgetsで取得できるが無駄にプログラムを書くことになるのでお勧めはしない
</dd>
</dl>
<dl>
<dt>どんな時に使うのか?</dt>
<dd>くり返し使いたい時に使う</dd>
</dl>
<h2 class="faq-section">エラーメッセージ編</h2>
<dl>
<dt>error.rb:6: warning: found </dt>
<dd>error.rbの6行目にエラーがある</dd>
</dl>
<dl>
<dt>`= literal' in conditional, should be == </dt>
<dd>if a = 0 と書いてあるが == にするべき </dd>
</dl>
<dl>
<dt>syntax error, unexpected end-of-input </dt>
<dd>endが足りないか多いかのどっちか</dd>
</dl>
<dl>
<dt>`printf': too few arguments (ArgumentError) </dt>
<dd>printfの中に%sや%dはあるが代入する変数がない</dd>
</dl>
<dl>
<dt>invalid value for Integer()</dt>
<dd>printfの中に%dがあり、整数ではないものを出力しようとしている</dd>
</dl>
</div>
<footer id="footer">この部分は footer.html に置き換わる</footer>
</body>
</html>