[#3249] ruby for mswin32 — KIMURA Koichi <kkimura@...>
[#3257] mini-reference (syntax) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#3305] Observable#notify_observers — shugo@... (maeda shugo)
前田です。
[#3312] multi-line comment — shugo@... (maeda shugo)
前田です。
[#3329] meta programming features — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろ%最終出社日です
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
[#3350] [Q] eql? and == — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
[#3375] Exception — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
[#3378] ML分割 — takagi@... (TAKAGI Hiromitsu)
ところで、話は変わって、ひとつ提案です。
[#3403] sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
[#3411] no cbreak in curses module — Shoichi OZAWA <ozawa@...>
こんにちは 小澤@日立 です。
[#3417] [Bug] String#sub — shugo@... (maeda shugo)
前田です。
[#3429] [Req] println — shugo@... (maeda shugo)
前田です。
まつもと ゆきひろです
[#3434] [Q] Thread — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
前田です。
前田です。
前田です。
けいじゅ@今はフリー(^^;;;です.
<199707301029.TAA25172@hoyogw.netlab.co.jp> の、
けいじゅ@今はフリー(^^;;;です.
<199707311103.UAA08460@hoyogw.netlab.co.jp> の、
[#3470] [Problem] for local class — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
[#3502] Re: .to_f result — 渡辺博文 <VYV01212@...>
わたなべです.
[ruby-list:3257] mini-reference (syntax)
まつもと ゆきひろです
rubyのミニ・リファレンス文法編です.
まあ,大体分かったけどちょっとど忘れという時には役立つかもし
れません.
--
= ミニリファレンス
== 文法
+ コメント
# this is a comment
+ 代入
$var = expr # グローバル変数
@var = expr # インスタンス変数
var = expr # ローカル変数(初出は宣言でもある)
VAR = expr # 定数(一度だけしか代入できない)
obj.attr = expr # 属性代入(メソッド'attr='呼出)
ary[idx] = expr # 要素代入(メソッド'[]='呼出)
var1,var2 = expr1,expr2 # 多重代入
var1,var2 = method() # 複数の戻り値(配列を返す)
first,*rest = method() # 残りをまとめて代入
+ リテラル
1 # 整数
0xff # 16進整数
033 # 8進整数
3.14 # 浮動小数点数
"hello world\n" # 文字列
'hello world\n' # ''はエスケープがない
[1,2,3,4] # 配列式
{1=>2,2=>4,3=>6} # 連想配列
/^From / # 正規表現
+ メソッド呼出
method(call)
method(arg1,arg2,*others) # 配列を引数として展開
method(arg1,arg2,1=>2,2=>4) # 末尾には連想配列を直接おける
method arg1, arg2 # 曖昧でない時,括弧は省略可
+ 式
atan2(1,1) # 関数のようにみえるがメソッド
1 + 2 # +もメソッド呼出
ary[0] # []というメソッド呼出
+ if
if condition
if_true
elsif another_cond
if_true2
else
if_false
end
statement if cond # 修飾子形式
+ unless
unless condition
if_false
else
if_true
end
statement unless cond # 修飾子形式
+ case
case expr # 比較は === で行われる
when 1 # exprが1
statements1
when 2,3 # exprが2または3
statements2
when 4..10 # exprが4から10
statements3
when "string" # 文字列も比較できる
statements4
else # どのwhenにもあてはまらなかった
statementsN
end
+ whileループ
while cond # 条件が真の間ループ
statements
end
statement while cond # 修飾子形式
begin
statements
end while cond # 末尾で条件評価
+ untilループ
until cond # 条件が偽の間ループ
statements
end
statement until cond # 修飾子形式
begin
statements
end until cond # 末尾で条件評価
+ forループ
for var in enumerable # 要素に対する繰り返し
statements
end
for var1,var2 in enumerable # 多重代入がおきる
statements
end
+ イテレータ呼び出し
iter(args) do |var| # イテレータブロックを指定して呼出
statements
end
iter(args) {|var| # 別形式
statements
}
enumerable.each do |var| # forの実体
statements
end
+ ループ脱出
break # ループを中断
next # ループ条件へジャンプ
redo # ループ先頭へジャンプ
retry # イテレータの再実行
+ メソッド定義
def foo(arg,arg2=default,*rest)
statements
end
+ 特異メソッド定義
def obj.foo(arg,*rest) # オブジェクトに固有のメソッド
statements
end
+ undef
undef method # メソッドの取消
+ alias
alias method1 method2 # メソッドに別名をつける
+ クラス定義
class Foo<Bar # BarのサブクラスFoo
statements
end
class Foo # デフォルトはObjectのサブクラス
statements
end
+ モジュール定義
module Foo
statements
end
+ rescue
begin
statements
rescue # 全ての例外の捕捉
error_process
end
begin
statements
rescue EOFError # 例外種別の明示的な指定
process_eof # 明示的に指定すれば,例外
end # でないもの(SystemExitなど)
# も捕捉できる
+ 例外再実行
retry # beginからやり直し(rescueの中)
+ ensure
begin
statements
ensure
process_must_be_done # ensure節はかならず実行される
end
+ raise
raise "message" # 例外RuntimeErrorの発生
raise RuntimeError, "message" # 例外種別の指定
raise # 直前の例外の再発生