[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000086] Re: gtrb & multi-D array
沼口です.
> 配列の次元に cyclic かどうかというのを定義したいというわけですか。
そういうことです.
> リックな場合 nil でなくしたいと。 (サイクリックでないと a[-1] を
> 使えなくしたいというのはちょっと...)
気持はわかるんですが,例として,1 次元 0..10 だとして
サイクリックじゃないとして,
del[i]=(x[i+1]-x[i-1])/2.0
で,i=10 のときは x[ i+1 ] が nil になって,
i=0 のときは x[i-1] が nil にならない,
というのは不自然じゃありません?
なんか他にいい指定の仕方ないですかね.
MAX に十分大きい数(Bignumの最大数とか)を入れといて
x[MAX-1] でもいいですけど.
あるいは x[/1/] とか??
> そんな感じもありですかね。"oned" の文字を見てでサブセット指定と
> 分かるから、無理せず a.oned()でもいいのでは?
そうですね.とりあえずは.
> ただ、この例に関して言うと、非サイクリックの場合端っこが含まれる
> とエラー(nil) になりますね。
我々の用途としては,可能なかぎり nil に対する演算を再定義して,
nil に対してどんな演算をしてもいいけれど(エラーにはならない),
結果は必ず nil というようにしといたほうがいいでしょう.
それとも,Ruby の nil と,我々の用途としての
nil (undef あるいは NaN) は区別しておいたほうがいいでしょうかね?
--
沼口 敦@北海道大学大学院地球環境科学研究科 大気海洋圏環境科学専攻
tel:011-706-2365 fax:011-706-4865 〒060-0810 札幌市北区北10条西5丁目
numa@xxxxxx