何かとよく使う 2 次元配列.例えば,その全要素を出力する場合,俺は今まで以下のように書いていた.C++ であることに深い意味はない.
for (int i = 0; i < nCol; i++) {
for (int j = 0; j < nRow; j++) {
// nItem[i][j] は一応 int 型ということで
std::cout << nItem[i][j] << " " << std::endl;
}
std::cout << std::endl;
}
・・・ nCol
と nRow
を逆の意味で解釈・使用していたことに昨日気づいた.何という失態 orz わざわざ自分で nCol
,nRow
って命名してるのに.nCol
は Number of Columns (列の数),nRow
は Number of Rows (行の数).念のため.
∧‖∧
yuuk
よくやる間違い。俺は画像の縦横を間違えるんだよなぁ。
y-iihoshi
今回の場合,ずーっと勘違いしっぱなしだったことがイタイ.
yuuk
作ってたらどっちがどっちだかわからなくなってきた。。。
y-iihoshi
この際,混乱を防ぐために nCol, nRow などと命名しないという手もアリ(ぇ
tksk
C# のばやい。
#ところで、col ごとに改行いれちゃちと変じゃない?
foreach(Row row in table.Rows){
foreach(Column col in row){
Console.Write("{0} ", col);
}
Console.WriteLine("");
}
tksk
2 行目は、
foreach(Column col in row)
じゃなくて、
foreach(Column col in row.Columns)
だわな。
tksk
つーか、column と row の意味を間違えて覚えてたら何使っても一緒か。(w
ゴミカキコすまそ。
y-iihoshi
いえいえ.滅相もない.
えーなぁ,C#.というか (まともな(?)) OOPL.
っと,その前に Java で,そのだいぶ前に課題でしたな orz
まつだ
乗り遅れ感びりびりですが対抗してRuby
table.each do |row|
row.each do |element|
print element + " "
end
puts "¥n"
end
tksk
書いた後で思いついたんだけど、というか、最初のやつは何故かごっちゃになって
書いてたんだけど、IEnumerable.GetEnumerator() が、Table だったら Row 、
Row だったら Column への参照を返すように実装しておけば、
foreach(Row row in table){
foreach(Column col in row){
Console.Write("{0} ", col);
}
Console.WriteLine("");
}
で行けるはず。
こうなると型が静的である、ということを除いて Ruby と大差なくなってくる。
y-iihoshi
じゃあ俺も対抗して Perl で・・・ って OOPL じゃねぇよ意味がねぇよ対抗できねぇよ orz