約 694,684 件
https://w.atwiki.jp/akios/pages/69.html
4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 型の抹消(type erasure)とは型(引数付き型と型変数を含んでもよい)から型(引数付き型や型変数を含まない)へのマッピングです。型Tの抹消を|T|と記します。抹消マッピングを以下に定義します。 引数付き型G T1,...,Tn の抹消とは|G|です。 入れ子にされた型T.Cの抹消とは|T|.Cです。 配列型T[]の抹消とは|T|[]です。 型変数の抹消とはその最も左の制限の抹消です。 他の全ての型の抹消とはその型そのものです。 型の抹消はコンストラクターやメソッドのシグネチャーを引数付き型や型変数を持たないシグネチャーにマップすることも指します。コンストラクターやメソッドのシグネチャーsの抹消とはsと同じ名前を残しs内の他の仮引数の型を全て抹消したものです。 コンストラクターやメソッドの型引数(8.4.4.)やメソッドの戻り型も、そのコンストラクターやメソッドのシグネチャーが抹消されるならば抹消されます。 ジェネリックメソッドのシグネチャーの抹消では型引数を持ちません。 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数
https://w.atwiki.jp/vahren_ency/pages/614.html
概要 文字変数 1個~複数個の「文字列」を代入する変数です。文字列とはpower, spot, unit, class構造体の名前(識別子)の事です。 決められた関数の引数欄でのみ使えます。文字変数はセーブされませんので一時的なデータとして用います。 文字変数を用いる時は先頭に@を記してください。 数値変数 「数値」を代入する変数です。 if文の条件式内で使えます。決められた関数の引数欄でも使えます。 数値変数はセーブされますので各種のゲームフラグとして使えます。 例:プレイヤー勢力の全ユニットを3レベル上げる storePlayerPower(@aaa) storeUnitOfPower(@aaa, @bbb) addLevel(@bbb, 3) もしくは levelup(@bbb, 3) 例:領地s5にいる全ユニットを所属勢力の他領へ移動させて新勢力p9を登場させる storeLeaderOfSpot(s5, @uuu) storePowerOfSpot(s5, @ppp) addUnit(@uuu, @ppp) s5にいたユニットを現勢力のどこかの領地に移す removeSpot(s5) s5を中立領地に戻す addPower(p9) 勢力p9を追加する。この時のp9は領地ゼロ addSpot(s5, p9) 勢力p9に領地s5を追加する addUnit(p9master, s5) p9のマスターとするユニットp9masterを追加(又は他領から移動)する changeMaster(p9, p9master_unit) マスターを変える 例:最強国に対抗して他の諸国が互いに同盟する(合従) storePowerOfForce(0, @aaa) 第一引数をゼロにすると全勢力を代入する storePowerOfForce(1, @bbb) 総戦力値が1番の勢力を代入する subv(@aaa, @bbb) 変数aaaからbbbの要素を削除する setLeague(@aaa, -1) 変数aaaに代入されてる全勢力が互いに無期限同盟する 例:最強国と他の諸国がそれぞれ同盟する(連衡) storeAllPower(@allp) 全勢力をallpに代入する storePowerOfForce(1, @topp) 戦力首位の勢力をtoppに代入する subv(@allp, @topp) allpからtoppを削除する set(idx, 0) インデックス値となるidxを0にする while (idx count(@allp)) { index(@allp, idx, @pow) allpのidx番目の要素勢力をpowに代入する setLeague(@topp, @pow, -1) toppとpowを無期限同盟する add(idx, 1) idxを+1する } 例:指定した領地に隣接する中立地帯を取り出す storeNextSpot(領地, @a) storeNextSpot(領地, @b) @a,@bに指定した領地と隣接する領地を代入する storeNeutralSpot(@c) 中立地帯を@cに代入する subv(@b, @c) @bから@cを引いて、隣接する中立でない領地にする subv(@a, @b) 元となる@aから@bを引いて、領地に隣接する中立地帯を出す 引数についての注意 計算関数では対象変数を引数欄の「左側」に書きますが、 pushとstoreが接頭辞の代入関数では対象変数を引数欄の「右側」に書きます。 混同されないように御注意ください。分かり難くなってしまい大変申し訳ありません。 以下のリファレンスで青色の引数には文字変数が使えます(先頭に@を付けると文字変数と見なされます) 紫色の引数には数値変数が使えます(数値変数はそのまま記述します) 数値変数の計算(代入対象変数は引数欄の左側) set(数値変数, 数値) 数値変数に数値を代入します。 add(数値変数, 数値) 数値変数を加算します。 sub(数値変数, 数値) 数値変数を減算します。 mul(数値変数, 数値) 数値変数を乗算します。 div(数値変数, 数値) 数値変数を除算します(余りは切り捨て)。0で除算するとエラー落ちします。 mod(数値変数, 数値) 数値変数を剰余算します(割った余りを求める)。 per(数値変数, 数値) 数値変数を百分率変換します。per(var, 75) だと変数varの75%の数値にします。 ただし答えが負数となる場合は、計算結果が+1多くなります(ver7.01時点)。 文字変数の計算(要素の追加削除)(代入対象変数は引数欄の左側) 一部の関数を除き、引数欄の「左側」において内包要素が複数の文字変数も全要素が利用可能です。 setv(文字変数, 文字列要素) 文字変数に、2番目の要素を代入します。 (現在有効な別名 setVar) addv(文字変数, 文字列要素) 1番目の文字変数の要素の末尾に、2番目の要素を加えます。 2番目の要素が複数個の「文字列」からなる文字変数のとき、末尾にそのまま連結されます。 (現在有効な別名 addVar) subv(文字変数, 文字列要素) 1番目の文字変数の要素から、2番目の要素を全て削除します。 2番目の要素が複数個の文字列からなる文字変数のとき、 1番目の文字変数の要素内の「文字列」のうち2番目の要素にもあるものを全て削除します。 (現在有効な別名 subVar) clear(文字変数) 文字変数の要素を全部消去します。 (現在有効な別名 clearVar) shuffle(文字変数) 文字変数の要素をシャッフルして順序をバラバラにします。 (現在有効な別名 shuffleVar) addstr(文字変数, 文字列) ※各引数の変数内 複数無効 文字変数内の文字列に、第二引数の文字列をつなげます。 (例) set(aaa, mark@) storePlayerUnit(@bbb) ※ゴート3世がプレイヤー。文字変数bbbの中身は「goto」となる。 addstr(aaa, @bbb) 文字変数aaaの中身は「mark@goto」となる。 gwrite(@aaa, 1, nextmsg.png) こうするとゴート3世のキャラ選択アイコンにマークが付く。 グローバル変数 gread(任意のグローバル変数名, 数値変数名) gread(任意のグローバル変数名, 数値変数名, 文字変数名) グローバル変数(全ゲームプレイで使える共通データ)をそれぞれの変数に読み込みます。 gwrite(任意のグローバル変数名, 数値) gwrite(任意のグローバル変数名, 数値, 文字列) グローバル変数(全ゲームプレイで使える共通データ)を書き込みます。 グローバル変数の文字列は英数字だけです。全角文字は使えません。 グローバル変数の使用注意 gwrite(aaa, 5) と gwrite(@aaa, 5) では意味が異なります。 前者は「aaa」という識別名で5の数値が保存されますが、後者は空の識別名で保存されます。 事前にsetv(@aaa, bbb)としてると gwrite(@aaa, 5)は「bbb」という識別名で5の数値が保存されます。 gread(aaa, var) と gread(@aaa, var) も同様です。この二つも意味が異なります。 引数の「任意のグローバル変数名」を青文字にしてるのはその為です。 また、一度作成したグローバル変数はゲーム内では完全には消去できません。 gwrite(aaa, 0, @)等としても、値こそ空にはなりますが、 本体ファイル「global.sav」のファイルサイズは作る以前の大きさには戻らないので、記述するときは注意が必要です。 完全に消去するにはglobal.savを手動で削除します。 グローバルデータに、 「show@シナリオ」「show@勢力」「show@ユニット」を1で書き込むと、 enable_select = off 指定が外れて表示されるようになります。(0で非表示になる) (例) gwrite(show@goto, 1) gwrite(show@scenario8, 1) gwrite(show@kingdom, 1) 「mark@ユニット」「mark@勢力」を1で書き込むと、 開始時のキャラ選択時にimageフォルダにある文字列名の画像をマークとして付ける事が出来ます。 (例) gwrite(mark@goto, 1, nextmsg.png) gwrite(mark@p1, 1, nextmsg.png) 数値変数への代入(代入対象変数は引数欄の右側) pushv関数を除き、内包要素が複数の文字変数はその先頭要素のみが利用されます。 pushv(文字変数, 数値変数) pushVar(文字変数, 数値変数) 文字列配列変数が持つ全要素数を数値変数に代入します。 pushv(文字変数, 文字列, 数値変数) pushVar(文字変数, 文字列, 数値変数) 文字変数が持つ文字列の数を数値変数に代入します。 第1引数は当然文字列配列変数使用可能です。第2引数も文字列配列変数使用可能です。 pushRand(数値変数) 数値変数に乱数(0~99)を代入します。 pushRand2(数値変数) 数値変数に乱数(0~2147483646)を代入します。 pushTurn(数値変数) 数値変数に現在のターン数を代入します。 pushCountPower(数値変数) 数値変数に現在生存中の勢力の数を代入します。 pushForce(勢力/ユニット, 数値変数) 勢力の識別子なら勢力の総戦力値が、ユニットの識別子ならユニットの戦闘力が代入されます。 pushDiplo(勢力A, 勢力B, 数値変数) 数値変数に勢力ABの友好値を代入します。 pushSpot(勢力, 数値変数) 数値変数に勢力の領地数を代入します。 pushBaseLevel(勢力, 数値変数) 数値変数に勢力の一般ユニットの底上げレベルを代入します。 pushTrain(勢力, 数値変数) 数値変数に勢力の訓練限界値(0~100)を代入します(全人材の平均レベルの百分比率)。 シナリオ初期値のまま変更がない場合は“0”が代入されます。 pushTrainUp(勢力, 数値変数) 数値変数に勢力の訓練上昇値を代入します。シナリオ初期値のまま変更がない場合は“0”が代入されます。 pushGain(勢力/領地, 数値変数) 数値変数に勢力の総収入(財政値適用前)、又は領地の経済値を代入します。 pushCastle(領地, 数値変数) 数値変数に城壁値を代入します。 pushCapa(領地, 数値変数) 数値変数に駐留数を代入します。 pushCon(領地, 基底クラス/ユニット名, 数値変数) 数値変数に領地にいる指定ユニットの個数を代入します。 ただし基底クラスで指定した場合は、非人材ユニットのみが対象となります。 pushSpotPos(領地, x座標用の数値変数, y座標用の数値変数) 領地のワールドマップ上の座標を代入します。 pushLevel(ユニット, 数値変数) 数値変数にユニットのレベルを代入します。 pushMoney(勢力/ユニット, 数値変数) 数値変数に所持金を代入します。 pushLoyal(ユニット, 数値変数) 数値変数にユニットの忠誠度を代入します。 pushMerits(ユニット, 数値変数) 数値変数にユニットの戦功値を代入します。 pushTrust(ユニット/勢力, 数値変数) 数値変数にユニット/勢力のマスターの信用度を代入します。 pushSex(ユニット, 数値変数) 数値変数にユニットの性別を代入します。無性=0、男性=1、女性=2 pushRank(ユニット, 数値変数) 数値変数にユニットの身分を代入します。その他=0、上士=1、重臣=2、宿将=3、マスター=4 pushStatus(ユニット, 文字列, 数値変数) 数値変数にユニットのステータス(スキル適用前)を代入します。 文字列は、hp, mp, attack, defense, magic, magdef, dext, speed, move, hprec, mprec, のどれかです。 pushItem(アイテム名, 数値変数) 数値変数に所持アイテム数を代入します。 pushBattleHome(x座標用の数値変数, y座標用の数値変数) 現在の戦場シーン(簡易可)の防衛側位置の座標が代入されます。 pushBattleRect(横サイズ用の数値変数, 縦サイズ用の数値変数) 現在の戦場シーン(簡易可)のエリアサイズが代入されます。 pushLimit(数値変数) 数値変数に戦場シーン(簡易可)の残り時間(左上の数値)を代入します。 文字変数への代入(代入対象変数は引数欄の右側) 一部の関数を除き、引数欄の「左側」において内包要素が複数の文字変数も全要素が利用可能です。 index(文字変数A, index値, 文字変数B) 文字変数Aのindex番目の要素を文字変数Bに代入します。先頭要素のindexは 0 です。 index値を要素数より大きな値をいれると末尾の要素を取り出せます。 (現在有効な別名 storeIndexVar) + ... おまけ。 逆に文字変数Aのindex番目に文字変数Bの要素を代入したい場合は少し手間が必要。 例:※文字変数Bは単一要素を持つとする clear(@C) set(i, 0) while (i count(@A)) { index(@A, i, @D) if (i == n) { addv(@C, @B) } else { addv(@C, @D) } add(i, 1) } setv(@A, @C) storePlayerUnit(文字変数) 「プレイヤーユニットの識別子」を文字変数に代入します。 storePlayerPower(文字変数) 「プレイヤーがマスターについている勢力の識別子」を文字変数に代入します。 storeAllPower(文字変数) 生存する「全ての勢力の識別子」を文字変数に代入します。 storeComPower(文字変数) 生存する「全てのCOM勢力の識別子」を文字変数に代入します。 storeAllSpot(文字変数) 「全ての領地の識別子」を文字変数に代入します。 内政/非表示に設定された領地が除かれて代入は行われます。 storeNeutralSpot(文字変数) 「全ての中立領地の識別子」を文字変数に代入します。 内政/非表示に設定された領地が除かれて代入は行われます。 storeNextSpot(領地, 文字変数) ※左引数の変数内 複数無効 指定領地に「隣接する全領地」を文字変数に代入します。 storeAllTalent(文字変数) 「全ての人材ユニットの識別子」を文字変数に代入します。 非表示設定にされた領地のユニットも代入されます。 storeNowPower(文字変数) 現在戦略思考中の「COM勢力の識別子」を文字変数に代入します。 storeTalentPower(ユニット, 文字変数) ユニットの「旗上げした勢力の識別子」を文字変数に代入します。 ただし代入が空欄となるときは、“ユニット@np”が代入されます。 storePowerOfForce(数値, 文字変数) 総戦力値順位が数値の「勢力の識別子」を文字変数に代入します。 数値が全勢力数を超えてる場合は自動的に切り詰められます(最下位の数値に変換される) 数値を 0 にすると「全ての勢力の識別子」を代入します。 storePowerOfSpot(領地, 文字変数) 引数の領地が所属する「勢力の識別子」を文字変数に代入します。 storePowerOfUnit(ユニット, 文字変数) 引数のユニットが所属する「勢力の識別子」を文字変数に代入します。 storeSpotOfPower(勢力, 文字変数) 引数の勢力が持つ「全ての領地の識別子」を文字変数に代入します。 storeSpotOfUnit(ユニット, 文字変数) 引数のユニット(放浪可)が存在する「領地の識別子」を文字変数に代入します。 storeLeaderOfPower(勢力, 文字変数) 引数の勢力が持つ「全ての部隊長の識別子」を文字変数に代入します。 storeLeaderOfSpot(領地, 文字変数) 引数の領地に所属する「全ての部隊長の識別子」を文字変数に代入します。 storeRoamUnitOfSpot(領地, 文字変数) 引数の領地に放浪する「全ての部隊長の識別子」を文字変数に代入します。 storeUnitOfPower(勢力, 文字変数) 引数の勢力が持つ「全てのユニットの識別子」を文字変数に代入します。 storeUnitOfSpot(領地, 文字変数) 引数の領地に所属する「全てのユニットの識別子」を文字変数に代入します。 storeMemberOfUnit(ユニット, 文字変数) 引数のリーダーユニットが持つ「全ての部下ユニットの識別子」を文字変数に代入します。 storeMasterOfPower(勢力, 文字変数) ※左引数の変数内 複数無効 引数の勢力の「マスターの識別子」を文字変数に代入します。 storeBattleSpot(文字変数) 直前に侵攻された「領地の識別子」を文字変数に代入します。 簡易戦闘後でも正確に代入されるようになりました。 storeAttackPower(文字変数) 直前の侵攻先の攻撃側ホストの「勢力の識別子」を文字変数に代入します。 簡易戦闘に関しても代入されます。 storeDefensePower(文字変数) 直前の侵攻先の防衛側ホストの「勢力の識別子」を文字変数に代入します。 簡易戦闘に関しても代入されます。 clearBattleRecord() 直前の戦闘の記録データ(上記の3関数で得られるデータ)をリセットします。 storeAliveUnit(基底クラス/ユニット名, 文字変数) ※左引数の変数内 複数無効 現在の戦闘シーン(簡易可)で引数の基底クラス/ユニットの識別子を持つ生存ユニットを全て文字変数に代入します。 ただし基底クラスで指定した場合は、非人材ユニットのみが対象となります。 storeTodoUnit(基底クラス/ユニット名, 文字変数) ※左引数の変数内 複数無効 現在の戦闘シーン(簡易可)で引数の基底クラス/ユニットの識別子を持つユニットを全て文字変数に代入します。 ただし基底クラスで指定した場合は、非人材ユニットのみが対象となります。 死亡したユニットも代入されます。 storeRectUnit((red/blue), left, top, right, bottom, 文字変数) 現在の戦闘シーン(簡易不可)で四角領域にいる赤or青陣営の生存ユニットを全て文字変数に代入します。 MapMakerの座標を用いてください。内部でクォータービュー座標に変換されます。 storeSkillOfUnit(ユニット, 文字変数) 引数のユニットが持つ「全てのスキルの識別子」を文字変数に代入します。 storeClassOfUnit(ユニット, 文字変数) 引数のユニットが持つ「クラスの識別子」を文字変数に代入します。 storeBaseClassOfUnit(ユニット, 文字変数) 引数のユニットが持つ「基底クラスの識別子」を文字変数に代入します。 storeRaceOfUnit(ユニット, 文字変数) 引数のユニットが持つ「種族の識別子」を文字変数に代入します。 storeSkillset(スキルセット名, 文字変数) 引数のスキルセットが持つ「全てのスキル」を文字変数に代入します。 内政ユニットの雇用関連 引数欄の「左側」において、内包要素が複数の文字変数はその先頭要素のみが利用されます。 setPM(内政ユニット名, merceデータ) ※「merceデータ」=addv等を用いて内政用のunit等を代入した文字変数(複数個の文字列可)。 指定した内政ユニットの merce に、雇用できるユニットを追加・上書きします。 追加されたユニットは初期に設定した merce とは別の部分(独立部分)として追加されます。 なので、一度setPMを用いた内政ユニットに、再度setPMを用いて雇用欄にユニットを追加した 場合、前回追加した merce データが上書きされる形で削除されます。 (削除せずに追加したい場合は下記のstorePMを用いて、一度追加したmerceデータを文字変数に代入し、その文字変数に雇用したいユニットを追加したうえで、再度それをsetPMで上書きする) また識別子順の本来の部分とは異なり、雇用表示欄の末尾から merceデータ 内の並び順で追加 されます。 storePM(内政ユニット名, 文字変数) 指定した内政ユニットにsetPM関数で追加した merce データのみを、文字変数に代入します。 (初期設定されている雇用可能ユニットは代入されない) 追加されている雇用可能ユニットの参照の他、setPMを用いて再度雇用できるユニットを追加 する際、それ以前にsetPMで追加した要素を、上書きによって消去されるのを防ぐ場合等に活用 します。 ※現在内政の雇用ユニットに関し、上記二つを用いて増減を行えるのは、setPMを用いて追加した データのみとなっています。(ゲーム内で初期設定されている雇用可能ユニットの削除はできない) 文字変数の保存 setud(保存識別子, 文字列) 文字列を「保存識別子」に代入します。この文字列はセーブファイルへ保存されます。 文字変数に複数の文字列が代入されてても全部保存されます。 storeud(保存識別子, 文字変数) 「保存識別子」に代入された文字列を文字変数に代入します。 .
https://w.atwiki.jp/suffix/pages/274.html
他にもマルチバイト文字列の扱いとか色々あるが、 ここでは文字列操作の一部を載せることにする。 文字列を辞書式の順序で比較する: strcmp() 例 strcmp("abc","ABC"); 返り値 0→同じ文字、1→最初の引数が後の引数よりも大きい、-1→最初の引数が後の引数よりも小さい。この場合、1。 文字列を連結: 文字列を連結するには連結演算子の.を使う。 例:$str = "sample"; $str."ketugou" 返り値:この場合はsampleketugou 配列要素を連結: implode() 例:$sample = array("test1","test2","test3"); implode(",",$sample); 返り値:この場合はtest1,test2,test3 文字列が等価かどうかの比較: phpでは比較は==で行える。javaよりも型は緩いので 例:$str == test 返り値 正しいときtrue,違うときfalse。型を含めて同じかどうかを調べたいときには===を使う。 文字列の最初のインデックスを探す: 例 $a = sample $b = am strpos($a,$b) 返り値:見つかったときはtrueで、引数が呼び出し元の中で最初に出てくる位置(インデックス)を返す。 無いときはtrue。上記の場合は1が返り値。日本語のようなマルチバイト文字列にはmb_strpos()が有効。 文字列の長さ: strlen() 例 $a = sample strlen($a) 返り値:その文字の長さ。この場合6。 文字列を分割する: explode(),split() 例:$sample = "sample1,sample2,sample3,sample4"; $words = explode(",",$sample); echo $words[0]; この時、sample1が表示される。 文字列の一部を切り取る: substr() 例:$str = "sample"; substr($str,2,4) 返り値:これはバイト数で指定するやり方。第2引数から第3引数の文字列の長さ分切り取る。この場合mple。 尚、文字列の数で切り取りたい場合にはmb_substr()を使う。 マイナスの値を指定して文字列の一部を削ることもできる。 ちなみに文字列を配列に格納するのに使用できるのは str_split($文字列,長さ[省略化]); マルチバイトのケースはhttp //detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1417635014を参照。 長さを指定して、文字列を置換する: substr_replace() 例:$sample = "sample"; $test = substr_replace($sample,"test",2,4); echo $test; この場合、3バイト目から4バイト分のデータが置換される。したがって、satestと表示される。 指定された文字列を置換する str_replace() 例:$sample = "sampledayo"; $test = str_replace("sample","test",$sample); echo $test; この場合testdayoと表示される。 $を含む場合だとうまく置換されないケースもあるので注意。 文字コードを変換する: mb_convert_encoding(),iconv() 例 UTF-8からShift-JIS mb_convert_encoding($str,"SJIS","UTF-8"); Shift-JISからUTF-8は素直にやるとうまくいかないケースがある(参考 http //pbs.darkgray.net/tips/tipshow.php?textserial=4) mb_convert_encoding(str_replace( ~ , #65374; , $value), "UTF-8", "SJIS");で良いらしい。 置き換わる文字コードを探してくれたURL主には感謝です。 先頭と末尾の空白を取り除く trim() 例:$sample = " sample"; trim($sample);
https://w.atwiki.jp/system818/pages/40.html
第5章 グループ関数について 5.1 グループ関数とは ■グループ関数では、NULL値は対象から除外されます。 ■NULL値の扱いの例外としては、COUNT(*)の場合、NULL値もカウントします。 ■AVG,COUNT,SUM,STDDEV,VARIANCE関数では、数値型データのみを扱う。 ※VARIANCE関数 (構文) VARIANCE( 数値項目 ) (説明) 引数で指定した数値項目の、分散を返します。 入力レコードが1行の場合は、0を返します。 ※STDDDEV関数 (構文) |STDDEV( 数値項目 )| (説明) 引数で指定した数値項目の標準偏差を返します。 5.2 AVG関数とは ※構文※ AVG( 列名 ) ※説明※ NULL値の行は、対象列なので、平均値を求めるデータには含めません。 5.3 COUNT関数とは ※構文※ COUNT({ * | 列名)} ※説明※ ・count(*)を指定したときは、NULL値の行もカウントします。 ・count(列名)を指定したとき、NULL値は、行のカウント対象外となります。 5.4 sum関数 ※構文※ sum(列名) ※説明※ NULL値の行は、合計の計算対象外です。 5.5.1 max関数 ※構文※ MAX(列名) ※説明※ 列のデータ型は、数値だけでなく、文字型データ、日付型データでも使用可能。 5.5.2 min関数 ※構文※ MIN(列名) ※説明※ 列のデータ型は、数値だけでなく、文字型データ、日付型データでも使用可能。 5.6 GROUP BY句とグループ関数 ・グループ関数は、SELECT文では、SELECT列、HAVING句、ORDER BY句で使用できます。 ・グループ関数を、GROUP BY句、WHERE句に記述することはできません。
https://w.atwiki.jp/souju-meka/pages/16.html
輪工房 ジベル系人形騎士ジベル 人形騎士ジェイオン 人形騎士ジベロン ガウス系人形武者ガウス 人形武者ガロス 人形武者ガウロス ギール系斧人形ギール 大斧人形ギール改 戦斧人形ダルギール ダイガー系双棍人形プロトダイガ 双棍人形ダイガー 双棍人形ダイガー2 ハーキン系長槍人形ハーキン 魔槍人形ハーデン 神槍人形ハダン ジベル系 人形騎士ジベル ★☆耐久力 95スロット数 2整備頻度 5整備時間 3変形 車格闘 ○射撃 ○運搬 △ 入手方法【購入】No.9終了後 1,800G人形の説明4年前に開発された近代的人形騎士。ガウスが完成した今ではやや型落ちした感もあるが、それでも依然としてトップクラスの性能を持つ。左手で盾を操り、光弾アクアペインを発射する。技の説明車:シフトレバーで速度切り替え。・左上・微速 ・左下・中速・右上・高速 ・右下・バック人型:十文字型のレバーを左に動かすと盾をかまえる。回転レバーを回し続けると光弾発射。 人型の十文字型レバーは、剣と盾の操作。発熱が少なくて扱いやすい。 左には剣を振れず、代わりに剣を引いて盾を構える。 これを利用してレバーの左~真ん中間を振ると、突き攻撃が出せる。 斬りに比べて敵の位置がぶれにくいので、前進しながら連続攻撃が可能。 また盾を構えている状態では、ガードほどではないが防御力が上昇するので被弾覚悟で近づく時に使える。 盾の防御効果はダメージ半減程度(ガードは1/3ほど)。 また、盾構え状態で敵の攻撃が当たる瞬間にタイミングよくガードを入力するとさらに軽減率が上がる。 (SH長弓で検証時、素ダメ26に対して盾構え+ガード時は5~4ダメージ。1/5程度に) ステップで避けた方がマシな場合が多いが、上手くやれば無改造ジベロンでもSH獣王のLPを3発は受け止められる。ちょっと凄いぞ。 カバー内のボタンは使いきりの一定時間剣強化。 使用回数は一回のみだが、予備動作が不要で発熱もないのが強み。 光弾はチャージに時間がかかるが、弾切れのない射撃武器なので便利。 ただし盾を構えておかないと、正面に飛ばないので注意。 人形騎士ジェイオン ★☆★★★★★耐久力 345スロット数 2整備頻度 5整備時間 3変形 車格闘 ○射撃 ○運搬 △ 入手方法【製造】設計図09A B+12,000G人形の説明人形騎士ジベルの強化型。改良強化の結果、性能が劇的に向上し、ガウスをも凌ぐ人形となった。特に光弾アクアペインの破壊力が増している。技の説明車:シフトレバーで速度切り替え。・左上・微速 ・左下・中速・右上・高速 ・右下・バック人型:十文字型のレバーを左に動かすと盾をかまえる。回転レバーを回し続けると光弾発射。 人形騎士ジベロン ★★★★☆★★★★★耐久力 760スロット数 2整備頻度 5整備時間 3変形 車格闘 ○射撃 ○運搬 △ 入手方法【購入】No.48Sクリア後 60,000G人形の説明人形騎士ジベルの最終形。究極の人形騎士といってもよいほど、その性能は高いレベルに達している。青白い光で剣を包むアクアウェーブの力が劇的に増加。発動時の攻撃力は凄まじい。技の説明車:シフトレバーで速度切り替え。・左上・微速 ・左下・中速・右上・高速 ・右下・バック人型:十文字型のレバーを左に動かすと盾をかまえる。回転レバーを回し続けると光弾発射。 アクアペインは攻撃力150と、弾数無限の飛び道具の中ではサーボルトの銃弾に次ぐ破壊力。 発熱と発射準備時間の問題はあるものの、射撃戦も十分こなせる。 ガウス系 人形武者ガウス ★★☆耐久力 100スロット数 2整備頻度 5整備時間 4変形 車格闘 ○射撃 ×運搬 △超兵器あり 入手方法【購入】No.9終了後 2,500G人形の説明昨年度の最優秀人形賞を受賞した傑作。車への変形機能を持ち、人形形態では魔刀ファルシスを操る。世界中の人形師が、ガウスを手に入れることを夢見ているといってよい。技の説明車:アクセルレバーを上に動かすと加速。ハンドルでターン。人型:右側の十文字型レバーで剣を振る。回転レバーを回し続けると、剣に妖気が宿る。ボタンで、超兵器ヴォルテクス。 剣は攻撃力も高く扱いやすいので、ヒートゲージさえ気を付ければ強い。 車型のスピード・旋回性能も非常に高く、最初に購入できるMGの中では一番のお勧め。 妖気の効果は攻撃力アップ。 さらにSHの敵に対してガードを誘発する効果があり、攻撃を抑制する手段として非常に有効。 超兵器ヴォルテクスは予備動作が長くて使いにくいものの、威力は申し分ない。弾数は3発。 狙いをつけるときは、中心に構えた剣を目印にすると便利。 格闘系が遠くから接近してくる時など、チャンスがあったら積極的に狙っていこう。 人形武者ガロス ★★★★★★★耐久力 345スロット数 2整備頻度 5整備時間 4変形 車格闘 ○射撃 ×運搬 △超兵器あり 入手方法【購入】No.57Hクリア後 26,000G人形の説明ガウスの強化型。さまざまな性能が飛躍的に向上。特に超兵器ヴォルテクスを強化。発射回数が減少したが、その分、威力が格段に増した。製作には、多くの工房が協力している。技の説明車:アクセルレバーを上に動かすと加速。ハンドルでターン。人型:右側の十文字型レバーで剣を振る。回転レバーを回し続けると、剣に妖気が宿る。ボタンで、超兵器ヴォルテクス。 ダンクール家のボンボンの愛機。赤い。 ヴォルテクスは弾数2に減少。 人形武者ガウロス ★★★★★★★★★★耐久力 760スロット数 2整備頻度 5整備時間 4変形 車格闘 ○射撃 ×運搬 △超兵器あり 入手方法【購入】No.100Sクリア後 85,000G人形の説明ガウスシリーズの完成形。新たな機能として前方へのダッシュジャンプが追加された。跳躍中でも剣を振ることができるため、前進しながら攻撃をおこなうことが可能となった。技の説明コクピット中央に新たなレバーが追加された。レバーを下に引いてから放すと、前方へダッシュジャンプ。ダッシュ中も剣を振ることができる。 ヴォルテクスは3発に戻った。 車両時のスピードが非常に速く、レースでは負けなし。 なので銀車輪を二個積むより片方を強化タイヤにしたほうが良い。剣自体は扱いやすいがヒートしやすいので注意。 ダッシュジャンプが地味に便利。 ギール系 斧人形ギール ★★★★耐久力 160スロット数 2整備頻度 6整備時間 2変形 車格闘 ○射撃 △運搬 × 入手方法【購入】No.48クリア後 3,600G人形の説明巨大な斧を武器とする人形。モンスタートラックから人型へと変形する。振り下ろしの一撃は凄まじい破壊力を持つ。斧を回転させることで衝撃波を発生させ、遠距離の敵を攻撃することも可能。技の説明車:シフトレバーを左上に入れると微速。左下は中速。右上は高速。右下はバック。人型:左側のレバーを下に下げると斧を振り上げ、離すと斬撃。回転レバーを回し続けるとエアストーム。 リュー・ガウゼンの愛機。斧振りはガウスの剣の2倍くらいの攻撃力がある。が、どの攻撃も当て難く、ヒートしやすいので注意。斧は小刻みに振るよりも振り切ってしまった方が熱が貯まらない。回転レバーで斧を頭上に振り上げた後、回転レバーチョン押し→振り下ろしレバーを降ろす事で連続ヒットする攻撃が可能。熱量も溜まりにくくオススメ。小型ミサイル「スパローホーク」は弾数6。 大斧人形ギール改 ★☆★★★★★耐久力 330スロット数 2整備頻度 6整備時間 2変形 車格闘 ○射撃 △運搬 × 入手方法【購入】No.116クリア後 22,000G人形の説明斧人形の強化型。斧の破壊力が高まっただけでなく、小型ミサイル・スパローホークの搭載数が増え、扱いやすい人形となった。技の説明車:シフトレバーを左上に入れると微速。左下は中速。右上は高速。右下はバック。人型:左側のレバーを下に下げると斧を振り上げ、離すと斬撃。回転レバーを回し続けるとエアストーム。 小型ミサイル「スパローホーク」は8発に増加。 戦斧人形ダルギール ★★★★★★★★★★耐久力 800スロット数 2整備頻度 6整備時間 2変形 車格闘 ○射撃 △運搬 × 入手方法【購入】No.84Sクリア後 80,000G人形の説明斧人形の最終形。斧の破壊力がが極限まで強化されている。技の説明車:シフトレバーを左上に入れると微速。左下は中速。右上は高速。右下はバック。人型:左側のレバーを下に下げると斧を振り上げ、離すと斬撃。回転レバーを回し続けるとエアストーム。 カラーリングがコンb(ry 小型ミサイル「スパローホーク」は8発。 ちなみにギール系の低熱量攻撃には攻撃判定が通常攻撃レバーと回転攻撃レバーの両方に出る。 (逆に言うとガウス系やその他は回転レバーに触った時しか攻撃判定がない(要再検証)) ダイガー系 双棍人形プロトダイガ ★★★★☆耐久力 170スロット数 2整備頻度 5整備時間 6変形 車格闘 ○射撃 ○運搬 ×超兵器あり 入手方法【購入】No.78クリア後 4,500G人形の説明輪工房が開発した最新型人形。まだ試作段階だが、それでもガウス以上の性能を持つ。太鼓のバチのような二本のメイスを持ち、連打で戦う。車形態は3輪のため、やや安定に欠けるのが欠点。技の説明車:アクセルレバーとハンドルで運転。人型:回転レバーを回し続けるとスピンショット。右上のカバーを破りボタンを押すと、武器を投げる最後の技ストライク・バニッシャー。 No.84でアインが搭乗するが、No.93ではブラックスターに乗り直している。 右のレバーは上下で振り上げ 振り下ろし、左右で駄々っ子アタック。 駄々っ子は背後の敵にも当たる上、連続攻撃がしやすい。 横向きに武器を回す回転レバーと使い分けよう。 メイスを両方失った後の攻撃方法は体当たりのみ。要覚悟。 双棍人形ダイガー ★★★★★★★★耐久力 445スロット数 2整備頻度 5整備時間 6変形 車格闘 ○射撃 ○運搬 ×超兵器あり 入手方法【購入】No.94Hクリア後 35,000G人形の説明双棍人形の完成型。あらゆる性能が向上しているが、特に、武器を投げる超兵器Sバニッシャーが強化されている。直撃させれば、一撃で敵を倒すことも可能だろう。技の説明車:アクセルレバーを上に倒すと加速。下で減速。ハンドルで方向転換。人型:回転レバーを回し続けるとスピンショット。右上のカバーを破りボタンを押すと、超兵器ストライクバニッシャー。 双棍人形ダイガー2 ★★★★☆★★★★★耐久力 630スロット数 2整備頻度 5整備時間 6変形 車格闘 ○射撃 ○運搬 ×超兵器あり 入手方法【購入】No.78Sクリア後 65,000G人形の説明双棍人形の最終型。性能が極限まで高まり、近接戦闘では無敵の強さを発揮する。技の説明車:アクセルレバーを上に倒すと加速。下で減速。ハンドルで方向転換。人型:回転レバーを回し続けるとスピンショット。右上のカバーを破りボタンを押すと、超兵器ストライクバニッシャー。 カラーリングが響(ry ダイガー系は数あるMGの中でも攻撃範囲の広い上下振りがメインになる珍しい人形。 ジャンプ中の下→上攻撃を上手く使えば、後方からのオートマンに追いつかれることなく、前方のオートマンを一方的に前に押し出しながら戦える。壁に追いやってハメれるのが理想。 ガンナーがいる場合も、砲撃に対して水平に歩いていれば被弾する恐れはないので、立ち回りに慣れれば怒涛の弾幕を横目にMKを集中的にタコ殴りにすることが出来る。 ちなみに左右振りの場合、一本が後ろに届くので前方と後方の敵に挟まれた状況に便利。 またジベロン同様弾数無限の飛び道具を持つため、接近の困難な相手にも対処しやすい。 地味な印象ながらオールラウンドな対応力を持つ、いい人形である。 ハーキン系 長槍人形ハーキン ★★★★★耐久力 200スロット数 2整備頻度 7整備時間 5変形 車格闘 ○射撃 △運搬 △ 入手方法【購入】No.100クリア後 6,500G人形の説明孤高の侍“十文字禅岳”の協力によって完成した輪工房最強の人形。長槍を武器とし、接近戦では圧倒的な強さを誇る。ボディーは軽量で、動きも速い。技の説明車:アクセルレバーを上に倒すと加速。下で減速。ハンドルで方向転換。人型:十文字型レバーで槍を振る。回転レバーを回すと広範囲をなぎ払う槍風車。ボタンでスピナーショット。 「最強」シリーズその1。 車型のスピードはガウス以上。人型は右の十字レバー下から上で突き、左右で薙ぎ払い。突きは上から下へレバーを動かした時、攻撃判定が出ない分、ヒートゲージを消費するが、突き時に槍自体とは別に攻撃判定のあるショットが出る。突きとショットを同時に当てられる距離感を保つとかなり強い。 囲まれた時に後ろも攻撃できる槍風車、飛び道具のミサイル(6発)もあり、あらゆる戦況に対応できる。 魔槍人形ハーデン ★★☆★★★★★耐久力 400スロット数 2整備頻度 7整備時間 5変形 車格闘 ○射撃 △運搬 △ 入手方法【製造】設計図10A B+19,000G人形の説明長槍人形の改良型。槍の破壊力が増しただけでなく、スピナーショットも強化された槍風車の熱上昇率がほんの少しだけ抑えられている。技の説明車:アクセルレバーを上に倒すと加速。下で減速。ハンドルで方向転換。人型:十文字型レバーで槍を振る。回転レバーを回すと広範囲をなぎ払う槍風車。ボタンでスピナーショット。 スピナーショットの装弾数は7に増加。 神槍人形ハダン ★★★★★★★★★耐久力 530スロット数 2整備頻度 7整備時間 5変形 車格闘 ○射撃 △運搬 △ 入手方法【製造】設計図28A B+35,000G人形の説明長槍人形の最終型。槍の破壊力が極限まで強化された。技の説明車:アクセルレバーを上に倒すと加速。下で減速。ハンドルで方向転換。人型:十文字型レバーで槍を振る。回転レバーを回すと広範囲をなぎ払う槍風車。ボタンでスピナーショット。 スピナーショットは8発に増加。 装甲も攻撃力も思いのほか低いが、リーチの長さをうまく使えれば強い。 レバーが二つあるので低熱量攻撃ができるしそれが異常なリーチにより最強。
https://w.atwiki.jp/mopsprogramming/pages/59.html
この局所変数は、スタック経由でワードに渡されたパラメターを自動的に格納します。名前付き引数(named parameter)を利用すれば、スタック上におかれたパラメターをいったん取り上げて格納し、必要に応じて取り出すことができます。初期値としてパラメター値が格納されますが、不要になったら通常の局所変数として、値を付け替えることができます。利用構文は、LOCALSに共通、つまり、Value変数と同じです。 宣言の形式は、 myWord { param1 param2 -- } ...... ; つまり、LOCALSとの相違点はバックスラッシュがないことだけです。このワードは、スタック上に少なくとも二つのアイテム(数値)をパラメターとして要求することになります。スタック上のアイテムは、トップスタック値がparam2に、一つ下がparam1に格納され、二つのスタックアイテムは費消されます。 使い方は、 param1 \ param1に格納された値をトップスタックに返す ... - param1 \ その時点でのトップスタック値を格納する 2 ++ param2 \ param2の値を2(=その時点でのトップスタック値)だけ増やす 3 -- param2 \ param2の値を3(=その時点でのトップスタック値)だけ減らす 効率性への配慮: 局所変数は、localsでもnamed parameterでも、原則としてレジスタ変数として実装されているので、1ワード内での値の操作は非常に高速化されることになります。ただし、はじめにレジスタにあった値をいったんメモリー内にセーブするので、その分のオーバーヘッド(超過負担)はあります。また、レジスタの個数には限りがあります。PowerMopsのTech noteによれば、ループを含む場合には最高9個、ループがなければ11個までは、局所変数はレジスタのみで、メモリーにアクセスすることなく処理できるとされています。スタックも数個まではレジスタでキャッシュされますから、局所変数の個数もスタックアイテムの個数もあまり多くならないよう、最適な個数配分を心がけることがMopsで「速い」アプリケーションを設計する鍵となるようです。Forth系言語で一般に見られるように局所変数を毛嫌いする動機は、Mopsには全くありません。 なお、名前付き引数は、局所変数(locals)の一種ですが、狭義の局所変数と共に用いることもできます。その場合、Mopsでは一緒に定義することとなっています。例えば、 word1 { p1 p2 \ loc1 loc2 -- } ... のように宣言すれば、word1の定義内では、p1, p2は名前付き引数として、\ 以降の loc1とloc2は、狭義の局所変数として利用できます。 浮動小数点数の引数を用いたい場合には、局所変数の場合と同様、名前を%で始めます。 word2 { p1 p2 %fp1 -- } ... 使い方は整数の場合と同じですが、値のやり取りは小数スタック経由で行われます。 関連項目: LOCALS VALUE 変数格納値の増減 自動Late Bind ローカルセクション メソッドのローカルセクション トップページへ 目次へ
https://w.atwiki.jp/rffbl22/
気象学におけるデータ解析と図化に用いるプログラムや言語の使い方について解説しています。 個人的なメモなので、内容は保証できません。自己責任でお願いします。 OS fedora 15 64bit と Windows7 と Mac OSX10.7 GMT 4.4.0 GrADS 2.0.1 IDV 2.9u3 gnuplot 4.0 Lyx 1.6.7 illustrator CS5 Photoshop Extended CS4 office2007 よく使うLinuxコマンド ファイルとディレクトリ関係 パス関係 画像関係 リンク関係 プロセス管理 手抜きvi 勘違いしやすいエラー GMT (Generic Mapping tool) GMTコマンド一覧 図の出力形式 gmtsetでよく設定する項目 地図上で対象領域を示す 色設定 psxyのSオプション 図枠の相対的な座標に対してpsxyで描く GMT時系列データの図化 補完データの作成とテキスト出力 GMTでバイナリデータの入力 grdファイルの確認 GrADS よく使うコマンド Station data(アメダスのような離散データ)の読み込み データのファイル出力 ctlファイルの書き方 カラースケールを自前で作成する ファイルリストから入力データを与える 図の出力 GrADS図作成のバッチ処理 データのタイムスタンプを図のタイトルにする データのタイムスタンプをファイル名にする GMTのgrdファイルをGrADSで表示 HDF形式データの図化 地形でマスキングして図化? GrADSで任意の斜め鉛直断面を作成する ctlファイルのtdef情報から任意の時刻のtを計算 perlスクリプトを活用したバッチ処理 Grib用のidxファイルの作成 図の見栄えをよくする NCL(Ncar command language) NCLスクリプトの基本事項 NetCDFへの変換 ファイル入出力 WRF関数 図の表示 データのビュアー IDV (Integrated Data viewer)の使い方 Panoplyの使い方 WRF Domain Wizard ARWpost処理後のデータの解析 gnuplot 図作成のバッチ処理 時系列データの図化 Perlスクリプト Perlヒアドキュメント system関数とエスケープ文字 コマンドラインで引数を渡す 1月1日からの日数を計算する バイナリ読み込み Bashスクリプト ヒアドキュメント awkの基本 grepとsed 計算式を評価する Fortran ちょっとした省力化 配列の正しい順序 バイナリファイルの入出力 テキストデータをグリッドデータとして読む 文字列の結合 文字型⇔整数型変換 入力ファイルを実行時の引数として与える NaNであるかの判定 system関数(システムコマンドの実行) Intel Fortran(ifort)のオプション 1バイト符号なし整数の読み込み NetCDF NetCDFの簡単な読み方 NetCDFの簡単な編集 NCOによるNetCDFの編集 Makefile Makefileの基本的な書き方 NetCDFライブラリをリンクする Grib Gribのバイナリ出力 HDF HDFView HDFのバイナリ出力 TRMM orbitデータのGrADSによる図化 Illustrator epsファイルを修正 画像の出力形式 画像の任意の範囲の保存 グラフ作成 画像の背景の透明化 Photoshop Extended レイヤ関係 pdfからの画像の抽出 解析ツール Lyx Lyx簡単な使い方 Lyx形式ファイルをtex形式で出力 Word Latex的な数式入力 Excel テキスト出力したデータをxlsx用に整理する RExcelの使い方 PowerPoint2007 図の透明化 文献管理 文献管理by Evernote 文献管理 by Mendeley データのメモ 衛星データ TRMM Global-merged IR CloudSat 解析値 再解析データ 気象庁MSM解析値 観測値 月別地上観測 サンプルデータ 地理データ 色相環を用いたGMT用カラーパレット 計算式 地理的計算 バイリニア補完 Macで研究環境 各種解析ツールのインストール その他 xnviewを使ってpsファイルを表示 研究に役立つor気晴らしのサイト 未解決問題 書籍目録 管理者限定
https://w.atwiki.jp/java_pro/pages/70.html
Javaプログラムを実行する際の引数について復習しましょう。 コマンドプロンプトでプログラムのソースコード が置かれているフォルダに移動して。 javac Hogehoge.java と「javac」というコマンドの後にファイル名を指定してあげると コンパイルができます。 コンパイルをすると「Hogehoge.class」のように クラスファイルが同じフォルダに生成されます。 ここで java Hogehoge と「java」というコマンドの後にクラス名を指定してあげると プログラムが実行されます。 コマンドラインの引数(実行時の引数) プログラムを実行する際に、メソッドのように引数を渡すことが できます。 プログラムはmainメソッドから実行されますよね。 public static void main(String[] args) というふうにmainメソッドを宣言すると思いますが、ここの 「args」というString配列にコマンドラインの引数(実行時の引数)が 渡されます。 たとえば、 java Hogehoge moge fuga java のようにプログラムを実行したとすると "moge fuga java"の部分がコマンドラインの引数として渡されます。 これはプログラムで String args[] = {"moge", "fuga", "java"}; と宣言されたような形になります。 なので、この実行時にはargs[0]には"moge"という文字列が入っています。 ※プログラムを実行する際に任意に引数を渡すことができるということなので、 コマンドラインの引数を渡していなければargs[0]などは存在しない。 ※コマンドラインの引数として渡すことが出来るのは文字列のみ ○3級の人向けの課題。 コマンドライン実行時に受け取った引数を番号を付けて順番に 表示するプログラム「ArgsTest01.java」を作りましょう。 例) java ArgsTest01 hogehoge mogemoge fugafuga あなたが入力したのは 1 hogehoge 2 mogemoge 3 fugafuga java ArgsTest01 あなたが入力したのは ※JCPadでコマンドラインの引数を指定して実行する場合理は、 コマンド(C)の右のエリアに直接コマンドを入力しましょう。
https://w.atwiki.jp/keisks/pages/392.html
http //tex.stackexchange.com/questions/147642/how-to-create-new-commands-with-multiple-arguments \newcommand{\add}[2]{\textit{#1} {`#2 }} aaai.styで \newcommand{\newcite}[1]{\citeauthor{#1} (\citeyear{#1})}
https://w.atwiki.jp/atachi/pages/23.html
string型 [#s46bd48d] 文字の操作方法一覧 [#p3fecd9a] 文字列の等価比較 [#vd94d25e] 正規表現 対象がスカラー値の場合の書式指定記法 [#i429a806] 対象が日時の場合の書式指定記法 [#u2a0f385] string型 C#では文字列の扱いはすべてstring型で扱う。 stringはSystem Stringクラスなので、文字列に関する多くの操作はStringクラスが実装している。 内部はユニコードである。 文字の操作方法一覧 操作 呼び出しサンプル 説明 文字列の長さ s.Length Lengthプロパティを使用する。 "文字".Length 拡張メソッドによってリテラルからStringクラスのメソッドを呼び出せる。 結合 "abc" + "ABC" 文字列結合演算子 大文字化 s.ToUpper() 小文字化 s.ToLower() 文字分割 s.split( / ) 戻り値はstring型の配列 部分文字列 s.Substring(5,10) 指定した位置の文字を取得。例の場合、5文字目から10文字分の文字列を返す。 トリム s.Trim() s.TrimStart() 文字列の先頭にある空白をトリミングする。 s.TrimEnd() 文字列の末尾にある空白をトリミングする。 等価比較 s == "文字列" s.Equals("文字列") 激しく非推奨 (下記参照) 不等価比較 s != "文字列" 大小比較 先頭比較 s.StartWith("My") 文字列が先頭の文字にマッチするか。 末尾比較 s.EndWith("Test") 文字列が最後の文字にマッチするか。 空文字判定 文字検索 s.IndexOf("Program") 文字列にマッチした最初の位置を返す 置き換え s.Replace("Before","After") 置換処理後の文字列を返す 左寄せ(右埋め) s.PadLeft(10) 指定した文字数になるように空白で右側(左側)を埋めた文字列を返す 右寄せ(左埋め) s.PadRight(10) 文字列の等価比較 文字列はstring型(または、ボックス化によりString型)であるため、等価比較を行うにあたって2つの方法が存在する。 ==演算子による方法 Object.Equals()による方法 string型はイミュータブルなので、==演算子を使用できる。 Object.Equals()でも等価比較が可能だが、ボックス化によるパフォーマンス低下とタイプセーフではないという実装上のデメリットが生じる。 特に、タイプセーフでないために対象がObject型ならば何でもEquals()に与えることができてしまうため、文字列以外の型を与えた場合に必ずしも等価でないケースが存在してしまう。 int i = 0; string s = "0"; Console.WriteLine( s == i ); // コンパイルエラー(異なる型を==演算子で比較できない) Console.WriteLine( s == i.ToString() ); // 明示的にiを文字列へ。 結果はTrue Console.WriteLine( s.Equals(i) ); // False Javaとは動作が決定的に異なるので、Java経験者は注意が必要です。 正規表現 System.Text.RegularExpressions.Regexを使用する。 static void Main() { string s = @" This is a test program. you can download it from the following page. http //www.xxx.yyy/bin/test.exe If you have any questions about this, please contact us by sending e-mail to the following address. support@xxx.yyy "; // メールアドレス抽出 Regex email = new Regex(@"\w*@[\w\.]*"); Console.Write("{0}\n", email.Match(s).Value); 正規表現が複数にマッチした場合は次のようにする。 Match m = null; for(m = reg.Match(s);m.Success;m = m.NextMatch()) { Console.Write("{0}\n", m.Value); } MSDN 正規表現言語要素 対象がスカラー値の場合の書式指定記法 置き換える文字と引数の順番が対応している。{0}は1番目の引数で置き換える。 書式 説明 指定例 表示例 d 数値を表示 {0 d} 1234 dn 任意の桁数で表示。桁が足りない場合は「0」で埋まる {0 d4} 0123 c 数値を通貨書式で表示 {0 c} \5,120 n 「,」区切り {0 n} 5,120 x 16進数で表示 {0 x} 4e0c g 小数点表示 {0 g} 0.1575 f 小数点部の桁固定で表示デフォルトでは2桁 {0 f} 0.15 fn 小数点部の桁固定数を指定 {0 f5} 178.12466 e 指数形式で表示 {0 e} 1.575e-002 p パーセンテージで表示 {0 p} 15% 数値 桁指定。整数部と小数部は「.」で区切る。 {0 000.000} 057.120 0 数値の表示位置。例の書式で「123456789」という値を与えた場合は表示例のようになる。 {0 (000)-000-0000} (012)-345-6789 対象が日時の場合の書式指定記法 書式対象のデータ型がDateTimeの場合、書式指定の意味合いが異なるものがあります。 年の指定 y 年。2桁表記。0~99 yy 年。常に2桁での出力。00~99 yyy 年。常に3桁での出力。 yyyy 年。常に4桁での出力。 yyyyy 年。常に5桁での出力。 月の指定 M 月。1~12 MM 月。常に2桁での出力。01~12 MMM 月の省略名で出力 MMMM 日付の指定 d 日付。1~31 dd 日付。常に2桁での出力。01~31 ddd dddd 時間の指定 h 12時間表記。0~12 hh 12時間表記。常に2桁での出力。00~12 H 24時間表記。0~23 HH 24時間表記。常に2桁での出力。00~23 tt 午前・午後の表示。日本語ロケールの場合は「午前/午後」と表示される。英語の場合は「AM/PM」となる。 分の指定 m 分。0~59 mm 分。常に2桁での出力。00~59 秒の指定 s 秒。0~59 ss 秒。常に2桁での出力。00~59