# Junior-Doctor Chokai Academy

# FAQ・アドバイス集

## 操作・コマンド編

Emacsの画面が2画面になって見にくい
  C-x 1を押す

ファイル名を間違えてプログラムを作成した
  emacsでC-x C-wを押すとファイル名を書き換えられる

プログラムを実行する、作成するときの文字打ち
  最初の文字をある程度打ち込み、Tabキーを押す

カーソルを合わせるとき
  マウスやパッドではなく、キーボード右下の矢印キーを使う

プログラムの最初の2行目を書くのがめんどくさい
  1行目は書かなくてはならない
  2行目は書かなくて良い(勝手に打ってくれるから)

プログラムの2行目の「#-*- coding:utf-8 -*-」にemacsutf8が保存のときに打たれる
  C−x C-m f utf-8-emacs [Enter]

プログラムが見にくい
  C-SPCで範囲指定をしてからC-iを押すと範囲内のインデント(段落)をそろえることができる無駄な空白の行を入れない

スライドにある\(円マーク)を打ちたい
  \と￥は一緒

プログラムが終わらない(∞ループになった)
  C-cを何回か押す

## 入出力処理編

文字が変数に入らない
  ダブルコーテーション(””)をつける

％が最後にでてくる
  print("～～\n")またはputs("～～")と書く

%dや%sがそのまま出てくる
  printfで出力する

プログラムに空白を出力したい、段落を付けたい
  print("\n")またはputs("")を段落を付けたい場所に書く

## 演算編

nil
  nilは値が何もないときに出てきます。配列などで指定したところに値があるかを確認しましょう

## 制御構造編

breakやredoが反応しない
  whileの中にないと反応しません
  while
  ～～
  redo
  end
  のようになっているか確認する

elseのときにしか次に進まない
  if
  ～～
  else
  ～～
  次にしたいこと
  end
  になっているかも

## 配列編

配列に値を入れたい
  <<またはpushを使う
  配列名<<値
  配列名.push(値)

配列の値を取り出したい
  shiftまたはforを使う
  先頭の値を取り出すとき
  配列名.shiftを使う
  一定数、全部取り出すとき
  for 変数 in 配列名

配列から値を取り除きたい
  配列名.dekete_at(x)(xは取り除きたい値の添字)で取り除くことがで きる

## メソッド定義(def)編

defの中の値をdefの外で使いたい
  基本的にdefの中と外では違う世界になっている 一応retrunする値をgetsで取得できるが無駄にプログラムを書くことになるので お勧めはしない

どんな時に使うのか?
  くり返し使いたい時に使う

## エラーメッセージ編

error.rb:6: warning: found
  error.rbの6行目にエラーがある

`= literal' in conditional, should be ==
  if a = 0 と書いてあるが == にするべき

syntax error, unexpected end-of-input
  endが足りないか多いかのどっちか

`printf': too few arguments (ArgumentError)
  printfの中に%sや%dはあるが代入する変数がない

invalid value for Integer()
  printfの中に%dがあり、整数ではないものを出力しようとしている