[#3305] Observable#notify_observers — shugo@... (maeda shugo)

前田です。

22 messages 1997/07/09

[#3329] meta programming features — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

44 messages 1997/07/11
[#3330] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/11

けいじゅ@今はフリー(^^;;;です.

[#3332] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/11

まつもと ゆきひろ%最終出社日です

[#3340] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/14

けいじゅ@今はフリー(^^;;;です.

[#3343] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/14

まつもと ゆきひろです

[#3345] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/14

けいじゅ@今はフリー(^^;;;です.

[#3346] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/14

まつもと ゆきひろです

[#3349] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/15

けいじゅ@今はフリー(^^;;;です.

[#3352] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/15

まつもと ゆきひろです

[#3353] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/15

けいじゅ@今はフリー(^^;;;です.

[#3357] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/15

まつもと ゆきひろです

[#3361] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/16

けいじゅ@今はフリー(^^;;;です.

[#3365] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/16

まつもと ゆきひろです

[#3366] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/16

けいじゅ@今はフリー(^^;;;です.

[#3391] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/18

まつもと ゆきひろです

[#3398] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/19

けいじゅ@今はフリー(^^;;;です.

[#3401] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/19

まつもと ゆきひろです

[#3406] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/22

けいじゅ@今はフリー(^^;;;です.

[#3410] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/22

まつもと ゆきひろです

[#3415] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/23

けいじゅ@今はフリー(^^;;;です.

[#3375] Exception — keiju@... (Keiju ISHITSUKA)

けいじゅ@今はフリー(^^;;です.

19 messages 1997/07/17
[#3383] Re: Exception — matz@... (Yukihiro Matsumoto) 1997/07/18

まつもと ゆきひろです

[#3388] Re: Exception — keiju@... (石塚圭樹 ) 1997/07/18

けいじゅ@今はフリー(^^;;;です.

[#3392] Re: Exception — matz@... (Yukihiro Matsumoto) 1997/07/18

まつもと ゆきひろです

[#3403] sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

18 messages 1997/07/22
[#3404] Re: sorry for ruby-list trouble — keiju@... (石塚圭樹 ) 1997/07/22

けいじゅ@今はフリー(^^;;;です.

[#3408] Re: sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto) 1997/07/22

まつもと ゆきひろです

[#3414] Re: sorry for ruby-list trouble — keiju@... (石塚圭樹 ) 1997/07/23

けいじゅ@今はフリー(^^;;;です.

[#3420] Re: sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto) 1997/07/23

まつもと ゆきひろです

[#3434] [Q] Thread — keiju@... (Keiju ISHITSUKA)

けいじゅ@今はフリー(^^;;です.

44 messages 1997/07/24
[#3444] Re: [Q] Thread — matz@... (Yukihiro Matsumoto) 1997/07/24

まつもと ゆきひろです

[#3455] Re: [Q] Thread — keiju@... (石塚圭樹 ) 1997/07/24

けいじゅ@今はフリー(^^;;;です.

[#3461] Re: [Q] Thread — matz@... (Yukihiro Matsumoto) 1997/07/25

まつもと ゆきひろです

[#3464] Re: [Q] Thread — keiju@... (石塚圭樹 ) 1997/07/25

けいじゅ@今はフリー(^^;;;です.

[#3483] Re: [Q] Thread — matz@... (Yukihiro Matsumoto) 1997/07/25

まつもと ゆきひろです

[#3528] Re: [Q] Thread — shugo@... (maeda shugo) 1997/07/28

前田です。

[#3537] Re: [Q] Thread — shugo@... (maeda shugo) 1997/07/29

前田です。

[#3542] Re: [Q] Thread — shugo@... (maeda shugo) 1997/07/30

前田です。

[ruby-list:3257] mini-reference (syntax)

From: matz@... (Yukihiro Matsumoto)
Date: 1997-07-02 15:48:15 UTC
List: ruby-list #3257
まつもと ゆきひろです

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					# 直前の例外の再発生

In This Thread

Prev Next