約 7,945 件
https://w.atwiki.jp/fmemo/pages/31.html
環境設定ファイル .zshrc 変数スカラー変数変数の種類 変数への値の代入、参照 配列BASHとの相違点 配列の作成方法1 配列の作成方法2 特殊な変数 シェルスクリプトif文その1 その2 その3 その4 for文基本形 連番の数字を使う場合 C言語風 while文 case文 select文 until文 上記の構文の省略形if for while select case read文 getops文 算術演算 その他 未整理事項0以上1未満の乱数を返す 参考サイト 環境設定ファイル ファイル名 ログインシェル インタラクティブシェル シェルスクリプト ログアウト .zshenv ○ ○ ○ × .zshrc ○ ○ × × .zprofile ○ × × × .zlogin ○ × × × .zlogout × × × ○ 基本的には.zshrcを整備すればよい。 ログイン時のみ実行したいことは.zloginか.zprofileに書く。 シェルスクリプトで、.zshenvを読み込ませたくないときは -fをつける .zshrc 書きかけ 補完を有効にする。 autoload -U compinit compinit 変数 スカラー変数 変数の種類 文字列、数値などがある。数値は整数、小数どちらも使える。 変数への値の代入、参照 $ VAR=apple #イコールの前後に空白をいれないこと $ echo $VAR #参照するときは$をつける apple $ echo ${VAR} #{}でくくってもよい。変数の終わりが明瞭でない場合は必要 apple 配列 BASHとの相違点 zshの配列はbashと番号の付け方がことなるので注意が必要である。 配列の番号はcshなどと同様に1から始まる。(bashでは0から始まる)zshの配列の0番には1番と同じものが 入っている。zsh4.3.9の場合、デフォルトだと0番目には何も入っていない。 $ setopt KSH_ZERO_SUBSCRIPT とすると配列0番目に1番目と同じものが入るが、使わないほうがよいだろう。 参考bashとzshでの配列の添え字と判別について 配列の作成方法1 $ fruits[1]=apple # 配列は1からはじまる $ fruits[2]=pear $ fruits[3]=orange $ fruits[4]=kiwi $ echo $fruits[1] apple $ echo $fruits apple pear orange kiwi 配列の作成方法2 $ fruits=(apple pear orange kiwi) $ number=(123 456 789) # 数字も要素にできる。 $ both=(123 apple 789) # 数字と文字列の混合も可能。 特殊な変数 $# 引数の数 $@ すべての引数(区切り文字としてスペースを使う) $* すべての引数(区切り文字としてIFSの値を使う) $? 直前に実行したコマンドが正常終了なら0, 異常終了ならそれ以外 シェルスクリプト if文 その1 if [ -f file ] ; then echo "OK" fi その2 if [ -f file ] ; then echo "Yes" else echo "No" fi その3 if [ -f file ] ; then echo "file" elif [ -L file ] ; then echo "link" fi その4 if [ -s file ] ; then echo "nonzero" elif [ -e file ] ; then echo "exist" else echo "No" fi for文 基本形 for fruit in apple pear orange do echo $fruit done 連番の数字を使う場合 for num in {0..10} do echo $num done C言語風 for (( i=0; i 5; i++ )) do echo $i done while文 i=0 while [ $i -lt 5 ] do echo $i i=`expr $i + 1` done case文 (かきかけ) select文 (かきかけ) until文 (かきかけ) 上記の構文の省略形 if if [[ -f file ]] echo OK for for fruit in apple pear orange ; echo $fruit for fruit ( apple pear orange ) echo $fruit for (( i=0; i 5; i++ )) echo $i while i=0 ; while [[ $i -lt 5 ]] { echo $i ; i=`expr $i + 1` } select (かきかけ) case (かきかけ) read文 以下の例ではプロンプトに入力された文字を変数varに代入し、それをそのまま出力している。 read var echo ${var} getops文 (かきかけ) 算術演算 $ echo $(( 1+2 )) 3 小数演算もできる $ echo $(( 0.5*2 )) 1. その他 未整理事項 0以上1未満の乱数を返す $ echo $(( $RANDOM./2**15 )) $ echo $(( $RANDOM./1 15 )) 参考すぎゃーんメモ 参考サイト 漢のzsh ウェブテコでzshについて発表したので資料を公開する ウェブテコで発表したzshの設定ファイル zshの基本的な使い方1/3 zshの基本的な使い方2/3 zshの基本的な使い方3/3 Macの.zshrcを晒してみる zsh for the working researcher
https://w.atwiki.jp/hosiyomi2/pages/12.html
文字定数「 」 「 A 」のように「 」で囲んだものを文字定数という。 データ的には 文字列「""」 「"A"」のように「""」で囲んだものを文字列という。 上記の場合だと、[A][\0]というようにデータが格納されている。 \0はヌル文字で、入力したデータの最後に必ず入っている。 配列的にいうと、 char mojiretu[] = "A"; の場合、mojiretu[0]にAが、[1]に\0が入っている。 データ的には配列扱いになるので、変数宣言時には配列型にしないと一致せずにコンパイルエラーが出る。 たとえ「"1"」でも、文字列扱いになるのでint型(配列も含めて)の変数に代入することはできない。
https://w.atwiki.jp/asuka-kana-layout/pages/12.html
どなたでも、自由に解説を追加することが出来ます。 編集しようとする方は、必ず以下をお読み下さい。 最も重要なお願い。 文章を記述する際は必ず「です・ます調」で記述してください。 他者の著作権を侵さないでください。下記の通り「引用」も絶対に行わないでください。 重要なお願い。 「誰でも自由に複写できる」状態を維持するため、次に当てはまる文章は投稿しないでください。 あなた自身が著作権の保持を望む文章(ここではなく、「飛鳥カナ配列に関するリンク集」にリンクを追加してください) あなた以外の方が著作権を保持している文章(編集過程で引用の必須要件が崩れる恐れがありますので、「引用」も行わないでください) GFDL・CCなどのライセンスが明示されている文章(編集過程でライセンスが要求する必須要件が崩れる恐れがありますので、「公共所有ドキュメント」からテキストを持ち込まないでください) そのほか、一般的なお願い。 本文を書く上で「検証可能性を満たすために必要」なリンクを除く全てのリンクは、記事中には書き込まずリンク集をご利用ください。 たとえば、親指シフトの同時打鍵ロジックを説明するために「親指ひゅんQに付属の同時打鍵ロジック文献を参考にした」場合は「親指ひゅんQ」のリンクを含めることが出来ますが、単純な紹介の場合はここからリンクを張らず、リンク集からリンクを張ってください。 他の配列との「比較」は書かないでください。その配列単独で説明できることのみを書いてください。 その配列の「欠点」は書かないでください。利点の裏返しは欠点なので、あえて欠点を書く意味がないためです。 その配列に関する「論議・論争・反論・宣伝文句」は書かないでください。 記述する必要がある場合は、「比較」と「欠点」を排除し、要点を纏めたもののみを記述してください。 一般的ではない言葉・その配列独自の言葉は極力用いないでください。「語の解説」節を設けて逃げることは極力避け、コンパクトな国語辞書を参考にしつつ「可能な限り平易な言葉のみで(予備知識がなくても)読めるように」記述してください。 例) ×同時打鍵 → ○同時に押す 例) ×プレフィックスシフト → △先押し 説明対象である配列の本質と関係のない記述、特に「四半世紀後に読むと矛盾しているかもしれない」記述は書かないでください。たとえば「シェア」の話題など「時代と共にどうなるか解らない」ものは記述しないでください(時間の経過による文書の風化を防ぐために必要です)。 …くらいでしょうか? あとは、実運用してみて決めるしかなさそうです。
https://w.atwiki.jp/tmiya/pages/59.html
9.5 まとめ この章では、リストをプログラミングの基本的なデータ構造として紹介しました。リストはイミュータブル(変更不能)なので、関数型プログラミング言語では一般的なデータ型です。命令型言語における配列に匹敵する役割を持っています。しかし配列とリストではアクセス方法に大きな違いがあります。配列へのアクセスは常にインデックスによりますが、リストではインデックスは滅多に使いません。scala.List にはインデックスによるアクセスのための apply メソッドが定義されていましたが、この操作は配列の場合よりずっとコストがかかります (一定時間に対して線形)。通常、リストはインデックスの代わりに再帰的にアクセスされ、再帰のステップは、たいていの場合、リスト上のパターンマッチに基づきます。また、豊富な高階コンビネータ群により、リストに対する事前定義された計算パターンをインスタンス化できます。 前ページ 9 章 目次 次ページ 名前 コメント
https://w.atwiki.jp/aniwotawiki/pages/21779.html
登録日:2011/03/20(日) 01 53 13 更新日:2023/08/21 Mon 21 04 20 所要時間:約 5 分で読めます ▽タグ一覧 イーイット カードゲーム クソゲー(新参視点) チュートリアルがおバカ バランス調整が多いゲーム 下克上 強者が弱者を狩るゲーム 憂国の大戦 運ゲー 憂国の大戦(ゆうこく-の-たいせん)とは、mixi、モバゲー、などのサイトで利用することの出来るカードゲームアプリである。 提供元は株式会社イーイット。 カードゲームといえば遊戯王などで見られるように、デッキに何十枚ものカードを使うのが一般だが、憂国の大戦ではデッキで使用するカードは多くても16枚である。 というかこのカードゲームにはドローはない。簡単に言えばユニットを並べ相手のユニットと総当たりするのがルールのバトルカードゲームである。 ~簡単なルール~ 決められたコスト、枚数を使用したデッキでユニットとなるキャラクターを配置し、1ターンごとにそれらの攻撃、技能により戦う。 20ターン経過してもどちらもユニットがいた場合引き分けとなる。 ユニットの配置にはARRAY(配列)というものがあり配列が1~3まである。 これにより配列1の者が壁となり攻撃の届きにくい後列の者が技能で働く、または配列1にキャラクターを並べて突撃するといった色々な戦法が作られる。 またデッキにはカードとは別に戦術というものがあり、この戦術の選択によりデッキの明暗が別れる。 ~カードの説明~ ○キャラ 「アイテム」と書かれているカード以外のキャラクターには以下のような数字などが決められている。 ★(レアリティ)… そのカードのレア度を表す。 ★~★★★★★★までの6段階であり、★★★以上のレアリティを持つカードを「ネームド」という。 同名のネームドのキャラクターは1つのデッキに複数配置することはできない。また同名ネームドのアイテムは1デッキに1枚である。 属性、所属、種族… そのキャラが属するグループ。結構重要。 コスト… そのキャラクターをデッキに入れるのに必要なコスト。1~6まである。強力なキャラクターほどコストは高い。 HP… 体力。RPGでもお馴染みの数字である。 これが0になるとそのキャラクターは倒れてしまう。 はじめたては技能説明で最大HPとHPがややこしいので注意。 AT… 攻撃力。 技能発動せずの単純な攻撃ならばこの値がそのまま[相手のHP-(AT-相手のDEF)]という計算で差し引かれる。 AGI… 素早さ。この値が高いキャラクターから順に行動することができる。 DEF… 防御力。相手からの攻撃によるダメージをその数値だけ減少する。 RNG… キャラクターが攻撃することの出来る配列を表す。この値が大きければそれだけ遠くの敵を叩くことができる。 尚、その数字に自軍の配列を含めていることに注意。 ARRAY… そのキャラクターの配列。キャラにより1~3で別れる。 この値が大きければそれだけ後方になり、敵の攻撃を受けづらくなる。 注意しなければならないのは、前の配列に合ったユニットがいない場合、後方のユニットが前へ詰める(例えば配列1のユニットがいない場合、配列2のユニットは配列1に、配列3のユニットは配列2に移動する。これはバトル中にも起きる)ことである。 技能… このカードゲームのキモ。 カードごとに異なる技能を持っており、ここでしっかり説明するのは難しいが、例を上げるならAT増加やHP回復などがある。 中にはやたらテキストの長い技能もある(骨使いビエリとか)。また技能には発動率(%)があり1ターンに発動するか否かは正に運ゲー。 尚、技能にはLv(レベル)があり、同名カードの使用枚数によりLv1~3まで別れる。勿論Lv1よりLv3の方が能力、発動率が高い。 ○アイテム いわゆる装備品。 ATやHP増加などが基本だが、中にはそのアイテムの名前が技能に必要なため装備させるものも。 ~デッキの作り方~ キャラクター及びアイテムにはコストがある。 1デッキにはコストが12になるまでカードを入れられる。 強力なネームドキャラクターにアイテムをつけまくってどっしり構えるか、低コストのモブを何体も構えるかは自由。 また、枚数制限というのがあるがこれは先述したように技能の発動と関係する。 デッキに使用する属性(火、水、土、無)の数によりその枚数制限は変わる。 一種類で統一すれば16枚までデッキにカードを入れられる。(mixi版のみ) 逆に四種類使おうとすれば5枚しかデッキに使えない。 そうしてデッキ作成した後は戦術を選ぶ。 戦術とはカードとは別に使われるもので毎ターン敵軍に全体攻撃するものや全滅後1回だけ復活するものなどがあり、デッキのテーマに沿った戦術に変える必要がある。 ~憂国の大戦の世界~ 憂国の大戦は、「グラース」と呼ばれる大陸において、炎のガイアスが治めし狩猟の国ブレイア、水のエリスが治めし治世の国アクタ、土のクライスが治めし戒律の国ファースの三国と、それらの国の平和への脅威となる古代王国、ヤーパン、不死者達との戦いを描いた世界が背景にあるが、細かいシナリオは割愛させて頂く。 知りたい人はアプリのシナリオを見ることをお勧めする。 まぁカードの対決では王様が盗賊にぶっ殺されたり、女帝が部下の親衛隊にレイプされたり、神官が教会を破壊したりするが憂国ではよくあること。 シナリオなんて二の次である。 アプリ内では、リーグ、トーナメント、アリーナといった様々な形式で他の人と戦うことができる。戦いを重ね、デッキの考察を行い自分の気に入ったデッキを作るのが憂国の醍醐味である。 …まあその結果だいたい行き着くのがテンプレデッキであるのは言わないお約束。 運が無ければプレイ時間の差を永遠に覆せないのもお約束。 しかし、読みとメタ次第で強デッキを狩ることも十分に可能。下克上を果たした時の感動もひとしおである。 この項目を見て少しでも憂国の大戦に興味を持ってもらえば幸いである。 追記・修正よろしくお願いします。 △メニュー 項目変更 この項目が面白かったなら……\ポチッと/ -アニヲタWiki- ▷ コメント欄 [部分編集] 名前 コメント
https://w.atwiki.jp/amaeda/pages/58.html
FFTWマニュアル - FFTWリファレンス - ベーシックインターフェース - 実データ離散フーリエ変換 実データ離散フーリエ変換 Real-Data DFTs fftw_plan fftw_plan_dft_r2c_1d( int n, double *in, fftw_complex *out, unsigned flags ); fftw_plan fftw_plan_dft_r2c_2d( int nx, int ny, double *in, fftw_complex *out, unsigned flags ); fftw_plan fftw_plan_dft_r2c_3d( int nx, int ny, int nz, double *in, fftw_complex *out, unsigned flags ); fftw_plan fftw_plan_dft_r2c( int rank, const int *n, double *in, fftw_complex *out, unsigned flags ); 実数入力/複素数出力の0次以上の離散フーリエ変換(DFT)のプランをたてて、fftw_planを返します(4.2節のプランの利用参照)。 いったんある変換タイプおよびパラメータのプランを生成すれば、異なる配列に対して、同じタイプおよびパラメータのプランを生成する際に、高速にプランが生成され、定数は共有されます(もし存在すれば)。 プランナーはプランが生成できなかったとき、返り値としてNULLを返します。そして、ベーシックインターフェースでは、FFTWをある制限された変換群をサポートする設定にカスタマイズするか、入出力が異なるout-of-placeのc2r多次元変換でFFTW_PRESERVE_INPUTフラグを使わない限り、返り値としてNULLでない値を返します。 引数 Arguments rank ランク(rank)は、変換の次元で(これは配列*nのサイズであるはずです)任意の非負整数を取りえます。 _1d 、 _2d 、 _3d のプランナーはそれぞれランク(rank)が1,2,3に対応します。ランク(rank)0は、サイズ1の変換、つまり入力から出力への数のコピーに相当します(ただし、0の虚部を伴います)。 nまたは、nx/ny/nzまたは、n[rank] nまたは、nx,ny,nzもしくは、n[rank]はそれぞれ変換の次元の論理的サイズを与え、任意の非負整数をとりえます。これは一般的に、物理的配列次元とはことなります。これについては4.3.4章の実データ離散フーリエ変換配列形式に記されています。 FFTWは配列サイズがの時に、一番性能が発揮され ます。ただし、e+fは、0か1で他の係数(a,b,c,d)は任意です。他のサイズの時は、一般的なアルゴリズムを用いた遅いアルゴリズムで計算されます(それでも遅くてもO(nlogn)の次元です)。FFTWを違うサイズ用にカスタマイズすることもできるので、必要なら8章のInstallation and Customizationを参照してください。2の階乗のサイズの変換はとりわけ高速に計算でき、それは一般的にr2c/c2r変換の最後の次元が偶数であるときに効果があるということになります。 in,out inとoutは変換の入力および出力の配列を表し、同じものを取りえます(in-place変換)。これらの配列は、FFTW_ESTIMATEフラグが使われない限り、プラン生成の際に値が上書きされます。(配列は初期化する必要はないが、確保する必要があります)。入出力が同じであるin-place変換の時は、実配列はパディングが必要です。これについては4.3.4章の実データ離散フーリエ変換配列様式に記されています。 flags flagはビットごとのORで構成されるゼロ以上のフラグです。24ページの4.3.2章のプランナーフラグで定義されます。 逆変換については、複素数の入力(エルミート配列の論理的に半分のサイズに非冗長に格納されているもの)をとり、実数を出力とする以下のようなものです。 fftw_plan fftw_plan_dft_c2r_1d( int n, fftw_complex *in, double *out, unsigned flags ); fftw_plan fftw_plan_dft_c2r_2d( int nx, int ny, fftw_complex *in, double *out, unsigned flags ); fftw_plan fftw_plan_dft_c2r_3d( int nx, int ny, int nz, fftw_complex *in, double *out, unsigned flags ); fftw_plan fftw_plan_dft_c2r( int rank, const int *n fftw_complex *in, double *out, unsigned flags ); 引数は、入出力のデータ形式が逆になっているところ以外はr2c変換と、まったく同じです。 FFTWの演算では規格化がされません。すなわち、c2r変換を行った後、r2c変換(またははその逆)を行うと、計算結果は元のデータを変換のサイズ倍(配列の論理的次元の積)されます。r2c変換は、同じ入力を用いて、複素離散フーリエ変換のでFFTW_FORWARDとした時と、同じ結果になり、c2r変換はFFTW_BACKWARDに対応します。より詳しい情報は、4.7章のWhat FFTW Really Computesを参照してください。
https://w.atwiki.jp/abwiki/pages/130.html
文字列処理は重要です。ポインタが理解出来ているかどうかの重要な見極めにもなります。 基本 "今日は○○する気分ではない" という文字列は最後に0(ナル文字)がつきます。 ナル文字とヌルとヌルポインタの違いはその意味にあり、 ナル文字(NUL)はゼロ終端系文字列(*1)に於ける文字の終了 nullは無効な値 null pointerは無効なポインタ をそれぞれ意味します。 補足 1)ゼロ終端系でない文字列にはPASCAL文字列等があり、PASCAL文字列は処理速度に優れた特性があるため、Excel内部等で用いられている。 実際に使ってみよう Sting型に慣れている人は面倒だと思うけど、ついてきて欲しい。 1 byte型配列を使おう! #N88BASICDim mes[123] As Byte'123バイト確保lstrcpy(mes, "平井公彦")'mesに文字列をコピーlstrcat(mes," 私は彼が好きです")'mesに連結wsprintf(mes+lstrlen(mes), "%d",100)'100を文字列にして追加Print MakeStr(mes) なんということのないコードだが、配列にデータをコピーしているのであふれにように中尉。 おしりがNULなのでmes[8]=0などと直接値を代入しててもおk 2 ポインタ #N88BASICDim p As *ByteConst A="平井公彦"Const B="松嶋絵美"p=APrint MakeStr(p)p=BPrint MakeStr(p) エラーメッセージなどすでに文字列が確保されているようなときは、ポインタを使えばいい。 アドレスを渡すだけなので、バッファオーバーフローとかないし、速い。 しかし、ポインタの指した先がリテラルの場合は変更できないと思え。 Ex 文字列の先頭にExをつけると(例:Ex"asdf")エスケープ文字列が有効になります。 例えば\nが改行、\tがタブ、\qがクオートです。 昔のBASICのように"asd"+Chr$( H0D)+"qwe"でもコンパイルは通りますが、 Ex"asd\nqwe"と書いたほうが、文字が少なくて住みます…。 お好みにあわせてどうぞ。 文字、文字列の種類と変数型の注意点 文字列を扱う場合、通常は "BASIC" などとしてプログラム内ではクオーテーションで囲む。変数に代入する場合は、 Dim str1 As Stringstr1="BASIC" としてDim文で定義したString型変数に文字列を代入することが出来る。 String型は標準的なBASIC言語に準拠した文字列型で、その使い方はBASIC言語として一般性と汎用性がある。 文字列とは別に、1文字だけを扱う事も可能。英字アルファベットを表記するASCIIコードは 英字で255文字に収まる事から、数値的に255が表現できれば良いので1Byteの範囲に収まる。 Byte型変数は255までの数値表現が可能だから、Byte型の変数一つでASCII英字コード一文字を表す事が出来る。 Dim c As Bytec=97print c'数値として表示print Chr$(a)'文字として表示 このByte型を配列とすれば複数の文字を代入でき、文字列として扱う事も可能になる。 文字を扱う場合、一つの文字のByte変数とその集合であるByte型配列があり、一字以上の文字列を扱うString型がある。 普段BASICを使う場合はString型を用いる事が多い。 String型は内部でメモリーを確保して文字列を保存するので、LongやDoubleとは異なり可変長の変数型として処理 される。String型文字列のメモリーブロックはプログラムが終了すると自動的に開放される。 NULL(NUL)終端文字列 Byte文字、String型文字列とは別に、Win32APIを利用する場合にはC/C++と互換性のあるNull(NUL)文字終端の文字列を 使う。これはByte型変数の配列と等しく、異なるのは文字終端がNull(NUL,ゼロ)で終わると規定されている所。 Byte配列の文字列は標準的なBASICには無い型で多くのBASIC処理系では扱えない事が多いが、Win32APIを利用する場合には C/C++と互換性があり、Win32APIを利用する事が多いabでは多用される。 見た目はByte型文字配列と何ら変わらない。 Dim nstr(20) As Bytelstrcpy(nstr,"hello null string")'Null終端Byte配列文字列を作成print MakeStr(nstr)'文字列を表示 Null終端文字列は、文字列の最後にNull(数字のゼロ)が来るが、普通はAPI文字列関数を利用して作成する事が多い。 文字列を作成するときに利用したlstrcpy()関数は、標準的なBASIC言語の関数ではなくてWindows環境のC/C++関数。 lstrcpy()関数を用いてString型からByte配列型Null終端文字列を作るのである。 print文で文字列を表示する場合は変換が必要で、MakeStr()関数にてByte配列のNull文字列をString型に変換しておく。 BASIC標準のPrint文は、引数がString型だからである。 lstrcpy()関数などを用いないで同等のByte型Null終端文字列を作る場合は、下記のようにする。 nstr(0)=97nstr(1)=98nstr(2)=99nstr(3)=0print MakeStr(nstr) Print文では引数がString型なので変換が必要だが、Msgbox等では元々Win32APIの関数なのでByte配列Null終端文字列 をそのまま扱え、String型へ変換する必要がない。 lstrcpy(nstr,"MessageBox")Msgbox 0,nstr Byte型配列Null終端文字列と、String型文字列との相互変換は、MakeStr(),StrPtr()関数などを使う事が出来る。 Byte型配列の文字列の初期化時の注意点 Byte型配列の文字列では、String型とは異なりDim文などで確保されたメモリー内容についてきちんと初期化 されている保証がないので、配列やメモリー領域を確保したりする場合は初期化が必要になる。 32個のByte配列を初期化する場合、For文を使う例を示す。 Dim nstr(31) As ByteFor i=0 to 31nstr(i)=0next i String型ではZeroString()関数が用意されているが、ここではByte型配列の文字列なので、 同等の処理は、ZeroMemory()関数を用いて行う事が出来る。 ZeroMemory(nstr,32) ZeroMemory()では要素数を与える。配列の添え字と要素数が一致しないので注意。 文字列のエスケープ記号処理の注意点 abの文字列は、C/C++のようなエスケープ記号をサポートしない。標準的なBASIC文字列は"\r\n"のような改行を 扱う事は出来ない。String型の文字列は、"\r\n"を4文字の文字列として処理する。 Print "abcdef\r\n"'エスケープしない文字列 abの文字列はAPIのwsprintf()関数やlstrcpy()関数内でもエスケープ記号は処理されないので注意が必要。 しかし、Ex修飾するとエスケープ記号が利用でき、"abc\ndef"という文字列が利用可能。 Print Ex"abc\r\ndef"'エスケープ記号が有効 エスケープ記号はC/C++において多用される記法だが、同等のコードは、 従来のBASIC型の記法を用いてChr$()関数を用いて改行コードを追加することも可能。 Print "abc"+Chr$(13)+Chr$(10)+"def"lstrcpy(nstr,"abc"+Chr$(13)+Chr$(10)) ワイド文字列の扱いについての注意 日本語など国際化された文字列は、英数字ASCII文字列の255文字では扱えない。多国語対応では1Byte以上を使って 1文字を表す文字コードがマルチバイト文字、ワイド文字等が使われ、漢字も1Byte以上で表記される。 abで用意されている文字列関数は基本的に1Byte処理を行いこれで十分な場合もあるが、場合によっては問題が起きる。 そのためInStr2()関数が提案されている。 http //hira.hopto.org/tips/activebasic/memory/instr_multibyte.xhtml String文字列へのポインタについての注意 abでは、Byte/Long/Double型のポインタは存在するがString型へのポインタは無い。String型は内部でメモリーを確保し 文字列作成しているので、String型文字列自体がポインタとして扱われていると表現できる。 abにおいてWin32API関数の文字列引数でString型とByte配列Null終端文字列が等しく扱えて互換性があるように 見えるのは、両方ともポインタアクセスを行っているため。 String文字列をポインタで指して直接文字列を配列操作する場合、内部処理は不明なのでString型で扱わない方が良い。 どうしてもポインタ操作を行う場合は、一旦Byte型配列の文字列に変換して処理するのが良い。 String型を用いる場合は、標準BASICで用意されている文字列関数を使うようにしてポインタ操作は避ける方が良い。 異なる文字列間の相互変換は、http //www.mb.ccnw.ne.jp/garger-studio/gameprog/ab0052.htmlに詳しく記載されている。 String型文字列の詳細は、http //www.mb.ccnw.ne.jp/garger-studio/gameprog/ab0051.htmlに記載されている。 String型文字列として利用されていた領域はabプログラム終了と同時に開放される。 なお、abのポインタの記法は、*Byte/BytePtr双方が可能だが、*Byteと書く記法はC/C++と同じ。Helpに書かれている記事 ではBytePtrと記載されているが同じ意味。
https://w.atwiki.jp/physical_miria/pages/36.html
ア行 秋篠理論航時機 Akishino Logical Satellite 秋篠清人が発見した時間跳躍理論に基づかれた、タイムマシン。完成は未発表となっているが、対アノーラ戦のため、裏では運用されている。通称ALS(アリス) ちなみにこのALS、過去を改変しても現代に全く影響が出ないという、短所であり長所がある。その理由はそのうち明らかになる。 アノーラ アノーラの攻撃方法は、我々が観測する時間速度を T とした時、未来から -T の速度を持って侵攻してくる。これが移動してくる時空間に行き、破壊するか返還すればいい。 「時間の女神Holaに逆らう」という意味でUnHolaと名付けられた。 カ行 機械化科学係官 Machinery Immaculate Resistance BEK実務部所属。時空間移動し、対アノーラ戦闘を行う。 アノーラに対抗するため、秋篠清人によって開発された、科学兵器(MIR)を使用する。 使用条件は、放射線に強い特殊な遺伝子を持っていること。 理系女子 記憶配列 転生を繰り返すそれぞれの魂が持つ。それぞれの人生の記憶を保存する。前世とは自分より前の配列の人生のこと。 何故か同じ魂の各時代の人間は容姿、思想が似る。 通常は他の配列のデータへアクセスすることはできないが、希に過去配列に対してのみアクセス可能な魂が存在する。その場合、魂の真名である記憶配列の名前にアクセスすることができる。 現人生の配列のデータは決まってるわけでは無い。運命が決定されていることはない。しかし超極希に未来の配列データの記憶にアクセスすることがある。 クロノス 記憶配列、ゼノン・清人が持つ。 前世の記憶を利用し、時間・暦の研究を行う者が多く居る。おそらく、クレオストラトス等。 過去配列に対してのアクセスが可能な記憶配列。ただし、生まれた時からアクセスできるわけではなく、思い出すタイミングは人それぞれ。清人は今のところは思い出していない。しかし、わずかながらアクセスしたことで、ALSを完成させることができた。 サ行 災害監視局 Bureau of Emergency Lower HEKSAが直接破壊を目標とするのとは対し、敵の時間 -T を入れ替えることで、攻撃より前の段階で未来に返す。 実は未来の敵は別時間軸のBEL自体。人間は発達しすぎ、地球は壊滅した。人間を生かしている意味は無い、殲滅しろという目的。 現在のBELは未来派と現代派に別れ、闘争している。主流派は未来派。 サードリフター MIRシステムのひとつ。 姿勢制御、タイムトラベルに必要。 新災 アノーラによる災害の名称。 新災保安庁 Bureau of Emergency Killer 2019年、清人がALSシステムを完成させたことにより設置。2020年までに準備し、伊織に真実を話し、実戦を開始してもらう。 アノーラに対し、BEKでは、アノーラを破壊することを任務としている セレリタスレーダー MIRシステムのひとつ。 通信用アンテナ 戦闘通信官 Helper Emergency Killer BEK司令部所属。 戦闘時、機械化科学係官科学係官との通信を行う。 タ行 デュアルサイクロン MIRシステムのひとつ。 小型円形加速器、遠距離攻撃武器。タイムトラベルにも必要。 ナ行 内閣環境省放射線庁 2018年設置。対アノーラ戦で使用した核爆弾により残った放射線の問題を扱うために作られた。 内閣文部科学省遺産解読庁 様々な世界の歴史的遺産物を解読している。 マ行 魔法 科学を極めた者が、ある科学現象の確率を瞬間的に操作することにより、エネルギー保存則を打ち破る、あくまでも科学の延長。 不確定性原理のようなもの、長期間的な確率は定まらないが、短期間的な確率は定まる。この確率を観測によりねじ曲げる。 一般的に知られている魔法現象に類似するためこう呼ばれる。 現在でも魔法は存在するはずだが、それほどの科学を極める者がいない。よって、現在では存在を知っている者さえもほとんどいない。 ラ行 リニアブースター MIRシステムのひとつ。 小型直線加速器、空中移動用。 A-Z Machinery Immaculate Resistance 機械化科学係官 係官が使用する科学兵器MIRシステムと呼ばれる。秋篠清人が開発。
https://w.atwiki.jp/12kokuki/pages/69.html
PHPメモ 配列からnullの要素を削除する sprintfに配列を渡す リクエストパラメータを配列で受け取る トラブルシューティング 拡張モジュールの読み込みエラーでApacheを起動できない FirefoxでローカルのPHPを開けない 生成したHTMLコードにスタイルが適用されない trim関数で文字化け die、exitで日本語が化ける 2010/10/10 14 29 35更新
https://w.atwiki.jp/isoroku_be/pages/141.html
情報 作者名:しらたま 引用元:なでしこプログラム掲示板「多重起動の防止」 勝手に改変 概要 タイトルにAを含むウィンドウ全てにCOPYDATA送信します。 完全一致の方は完全一致したウィンドウ全てに送信です。 解説 引数 A:(タイトルに含まれる)文字列 S:COPYDATA サンプルプログラム なし //本体 ●COPYDATAタイトル検索送信(AにSを) Bとは配列=ウィンドウ列挙。 Cとは配列=Bの2からAを表ピックアップ。 Cで反復、対象[0]にSをCOPYDATA送信。 戻る。 ●COPYDATAタイトル完全一致送信(AにSを) Bとは配列=ウィンドウ列挙。 Cとは配列=Bの2からAを表完全一致ピックアップ。 Cで反復、対象[0]にSをCOPYDATA送信。 戻る。 名前 コメント