とりあえずベースとしているもの
変数でバーコードのコード12桁部分がstring型で渡されているとします。barcode
for(idx = 0; idx < barcode.Length; idx++){
if(idx % 2 == 0) { //奇数桁
var chr = barcode.Substring(idx, 1);
oddSum += Integer.Parse(chr);
}
}
とりあえずベースとしているもの
変数でバーコードのコード12桁部分がstring型で渡されているとします。barcode
for(idx = 0; idx < barcode.Length; idx++){
if(idx % 2 == 0) { //奇数桁
var chr = barcode.Substring(idx, 1);
oddSum += Integer.Parse(chr);
}
}
ある程度メソッドやクラス、メンバなどをツリー化して、類似度が少し落ちるのをリストアップかな
が、外出までに間に合うか
ちょっとバーコードのLINQネタをもとに、軽く記事を書いてみる
空気を読む、それこそ夢見がちだけど上からの要望ありそうな機械学習とかですかねえ……
IEnumerable<int> EncodeToInt(IEnumerable<int> list, string barcode){
// チェックディジットは数値であることが前提なので、例外は起こします
// 必要に応じて例外処理を加えて下さい。
return list.Select(idx => barcode.Substring(idx, 1)) // 文字列を切り出して
.Select(chr => Integer.Parse(chr)); // 改めて数値リストに変換
}
意味さえ分かってしまえばチェックディジットの計算も楽勝かつ拡張も可能なので楽しいんですけどね
時間取れるか微妙ですが土日中に
もったいないからここまでのLINQノウハウを通常アカに載せるか
必須のXORを取ろうとしたとき、boolList.Any(x => x) && !boolList.All(x => x)
とかやりましたけど、ラムダ式とかAny/Allだけで詰む人居るかも知れないですし。
ちなみに、Anyは「すべてOR」、Allは「すべてAND」で考えます
おはようございます
逆にLINQが分からない人に伝わりにくいこともあり得るので、ちょっとでも複雑ならあまり使わないのも手です
多分(当然だとは思うけど)DB側に連携出来ないんですよね。
自分もQiitadonに入った後にユーザーネーム変えたので入り直しが面倒というのも
敬称マスタ
ただ敬称カラムがだった場合に、「さかなクン」+「さん」とデフォルト値を入れざるを得ない場合もある気がしますNOT NULL
株式会社でズンドコキヨシ
創作やってたら名前があれこれ出てきてDBどうしてるんだろうという気持ちがあります
LINQとサブクラスについてまとめてみるかあ
4時間前の話題ということに今気づく
LINQのある.Netでは、処理の簡略化、というよりLINQを書き付けるメインルーチンをシンプルにするために、サブクラスの中に判定とかを書いてしまって、わかりやすいメンバ変数にしてしまうこともありますねえ
物事を要素で分けてみることが好きです。一番分からない人間は自分です。C#が好きですが、Pythonも勉強しています。
senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.
All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.