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 [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があり、整数ではないものを出力しようとしている