約 5,664,534 件
https://w.atwiki.jp/goodgames/pages/427.html
かなり手抜きな感じは否めませんが取り急ぎ説明書きを用意致しました。 各種パラメータなどはTeamControler R0.03と互換がありますので説明は割愛させて頂きます。 ■インストール インストーラなど気の利いたものは付属しませんので適当なディレクトリにコピーしてください。 configファイルを手作業で書き換える必要はありません。 尚、.NetFramework 4.0が別途必要になりますので Microsoft社のHPよりダウンロードしてインストールしてください。 ■最低限の使い方(操作手順) 1.認証情報の設定 Communication SettingsタブのGameServerGUIDとGameServerPassPharaseを入力して下さい。 この2項目はTeamControlerに設定している内容と同じ情報になります。 この項目は自動で保存されますので2回目以降の起動時には入力する必要はありません。 2.PA算出用プレイヤー名の入力 表内のPlayerName欄に左右最低1名(合計2名)以上、プレイヤー名を入力して下さい。 左右それぞれ1名以上 実在するプレイヤーであること 大文字小文字が区別されます 3.シミュレーションパラメータの入力 Execute Simulationタブに移動し下記の項目を入力(選択)して下さい。 Player Ability Function Player Ability Expression Evaluation Game Mode その他の項目は必須ではありませんので必要に応じて設定して下さい。 4.シミュレーション実行 Execute Simulationボタンを押下してください。 プレイヤー数やサーバ負荷によって処理時間は異なりますが、 最長でも10秒程度でPA計算の結果が表示されます。 尚、Kills,Deaths,Scoreはシミュレーションには用いません。 {5.シミュレーション結果による並べ替え} Sort by PAボタンを押下するとシミュレーション結果によりチームを再編成し、 PAの大きい順に並べ替えが行われます。 6.BattleReportからのデータ取得 この機能は必須でありませんが、プレイヤー名を多数キー入力するのは手間がかかります。 そのため既存のBattleReportからプレイヤー名を設定することにより作業を簡略化しています。 Retrieve from BattleReportタブへ移動し、ReportIDを入力した上、Retrieveボタンを押下すると BattleReportに含まれるぷメイヤー名と戦績が一覧表示されます。 またこのプレイヤー名はそのままシミュレーションに使用できます。 (参考)ReportIDとは下記URLの数字8桁部分を指します http //battlelog.battlefield.com/bf3/battlereport/show/35540192/1 御不明な点などがございましたら何なりとお問い合わせ下さい。 ( - )
https://w.atwiki.jp/0x0b/pages/56.html
Date Dateオブジェクトの概要、内部演算子の定義 Date オブジェクトは、時間内の個々の瞬間をミリ秒で示す数で構成される。まずは NaN であることもあり、 Date オブジェクトが時間の特定の瞬間をあらわさないことを示す。 次セクションは時間値の演算のための数々の関数を定義する。 各ケースについて、その関数の引数が NaN ならば、結果は NaN となる。 時間の範囲 時間は、 ECMAScript では UTC 1970 年 1 月 1 日 からのミリ秒で計測される。うるう秒は無視される。一日あたり正解に 86,400,000 秒ということにする。 ECMAScript 数値は -9,007,199,254,740,991 から 9,007,199,254,740,991 まで表現できる; この範囲は、 UTC 1970 年 1 月 1 日 を基点とする前後約 285,616 年間の任意の瞬間の、厳密なミリ秒での時間計測を可能にする。 ECMAScript Date オブジェクトがサポートする実際の時間の範囲はわずかに小さい; 厳密には、 UTC 1970 年 1 月 1 日開始時の午前零時から計測される -100,000,000 日から 100,000,000 日である。 これは UTC 1970 年 1 月 1 日 から過去未来の両側に 8,640,000,000,000,000 ミリ秒の範囲を与える。 厳密な UTC 1970 年 1 月 1 日開始時の午前零時は、値 +0 で表される。 日数、一日内の時間 時間値 t は日数 (day number) に属する Day(t) = floor(t / msPerDay) 一日あたりのミリ秒数のところは msPerDay = 86400000 残りは一日内の時間と呼ばれる TimeWithinDay(t) = t modulo msPerDay 年数 ECMAScript は、日数の年数へのマップと一年内の月日の決定にグレゴリオ暦を用いる。このシステムでは、うるう年は正確に (4 で割り切れる) かつ (*1) ような年である。それゆえ年数 y の日数は次のように定義される。 DaysInYear(y) = 365 if (y modulo 4) ≠ 0 = 366 if (y modulo 4) = 0 and (y modulo 100) ≠ 0 = 365 if (y modulo 100) = 0 and (y modulo 400) ≠ 0 = 366 if (y modulo 400) = 0 非うるう年は通常の月ごとの日数で 365 日であり、うるう年は 2 月に追加日を持つ。 年 y の最初の日の日数は次に与えられる DayFromYear(y) = 365 × (y(1970) + floor((y(1969)/4) − floor((y(1901)/100) + floor((y−1601)/400) 年の開始の時間値は TimeFromYear(y) = msPerDay ( DayFromYear(y) 時間値は次によって年を決定する YearFromTime(t) = TimeFromYear(y) ≤ t であるような (正の無限大に最も近い) 最大整数 y うるう年関数は、時間がうるう年内であれば 1 であり、そうでなければ 0 である InLeapYear(t) = 0 if DaysInYear(YearFromTime(t)) = 365 = 1 if DaysInYear(YearFromTime(t)) = 366 月数 月は、 0 から 11 の範囲の整数で識別される。時間値 t から月数へのマッピング MonthFromTime(t) は次で定義される MonthFromTime(t) = 0 if 0 ≤ DayWithinYear(t) 31 = 1 if 31 ≤ DayWithinYear (t) 59+InLeapYear(t) = 2 if 59+InLeapYear(t) ≤ DayWithinYear (t) 90+InLeapYear(t) = 3 if 90+InLeapYear(t) ≤ DayWithinYear (t) 120+InLeapYear(t) = 4 if 120+InLeapYear(t) ≤ DayWithinYear (t) 151+InLeapYear(t) = 5 if 151+InLeapYear(t) ≤ DayWithinYear (t) 181+InLeapYear(t) = 6 if 181+InLeapYear(t) ≤ DayWithinYear (t) 212+InLeapYear(t) = 7 if 212+InLeapYear(t) ≤ DayWithinYear (t) 243+InLeapYear(t) = 8 if 243+InLeapYear(t) ≤ DayWithinYear (t) 273+InLeapYear(t) = 9 if 273+InLeapYear(t) ≤ DayWithinYear (t) 304+InLeapYear(t) = 10 if 304+InLeapYear(t) ≤ DayWithinYear (t) 334+InLeapYear(t) = 11 if 334+InLeapYear(t) ≤ DayWithinYear (t) 365+InLeapYear(t) DayWithinYear(t) は次のように定義する DayWithinYear(t)= Day(t)(DayFromYear(YearFromTime(t)) 月の値 0 は 1 月を指す; 1 は 2 月を指す ; 2 は 3 月を指す; 3 は 4 月を指す; 4 は 5 月を指す; 5 は 6 月を指す; 6 は 7 月を指す; 7 は 8 月を指す; 8 は 9 月を指す; 9 は 10 月を指す; 10 は 11 月を指す; 11 は 12 月を指す。 MonthFromTime(0) = 0 は 1970 年 1 月 1 日木曜日 に該当することに注意。 日付数 日付は、 1 から 31 の範囲の整数で識別される。時間値 t から日付数へのマッピング DateFromTime(t) は次で定義される DateFromTime(t) = DayWithinYear(t)+1 if MonthFromTime(t)=0 = DayWithinYear(t)− 30 if MonthFromTime(t)=1 = DayWithinYear(t)− 58(InLeapYear(t) if MonthFromTime(t)=2 = DayWithinYear(t)− 89(InLeapYear(t) if MonthFromTime(t)=3 = DayWithinYear(t)−119(InLeapYear(t) if MonthFromTime(t)=4 = DayWithinYear(t)−150(InLeapYear(t) if MonthFromTime(t)=5 = DayWithinYear(t)−180(InLeapYear(t) if MonthFromTime(t)=6 = DayWithinYear(t)−211(InLeapYear(t) if MonthFromTime(t)=7 = DayWithinYear(t)−242(InLeapYear(t) if MonthFromTime(t)=8 = DayWithinYear(t)−272(InLeapYear(t) if MonthFromTime(t)=9 = DayWithinYear(t)−303(InLeapYear(t) if MonthFromTime(t)=10 = DayWithinYear(t)−333(InLeapYear(t) if MonthFromTime(t)=11 曜日 個々の時間値 t の曜日はこのように定義する。 WeekDay(t) = (Day(t) + 4) modulo 7 曜日値 0 は日曜日を指す; 1 は月曜日を指す; 2 は火曜日を指す; 3 は水曜日を指す; 4 は木曜日を指す; 5 は金曜日を指す; 6 は土曜日を指す。 WeekDay(0) = 4 は、 1970 年 1 月 1 日木曜日 に該当することに注意。 地方調整時 ECMAScript 実装は地方調整時の決定を期待される。地方調整時は、 UTC に追加して地方標準時をあらわす、ミリ秒で測られる値 LocalTZA である。値 LocalTZA は時間によっては変わらないが、地理的な位置に依存する。 夏時間調整 ECMAScript 実装は、夏時間調整アルゴリズムの決定を期待される。ミリ秒で測られる夏時間調整 DaylightSavingTA(t) を決定するアルゴリズムは、次の 4 点にのみ依存する (1)年の開始からの時間 t - TimeFromYear(YearFromTime(t)) (2)t がうるう年かどうか InLeapYear(t) (3)年の開始の曜日 WeekDay(TimeFromYear(YearFromTime(t)) (4)地理的な位置 ECMASciript 実装は正確な時間が夏時間に従ったか否かの決定を試みるべきではないが、その時現在の夏時間アルゴリズムが使われているならば、夏時間の影響下にあるかどうかの決定を試みるべきである。これは年回りで夏時間を認められるロケールの年を考慮するようなような煩雑さ回避する (This avoids complications such as taking into account the years that the locale observed daylight saving time year round.)。 ホスト環境が夏時間調整の決定の機能性を提供するならば、 ECMAScript 実装は、問題の年をホスト環境が夏時間調整情報を提供する同等の年 (同じ閏年で同じ曜日に開始しうる年) に自由にマップできる。同等である全ての年が同じ結果を生成するべきであるということだけ制限される。 地方時 UTC から地方時への変換は LocalTime(t) = t + LocalTZA + DaylightSavingTA(t) 地方時から UTC への変換は UTC(t) = t - LocalTZA - DaylightSavingTA(t - LocalTZA) UTC(LocalTime(t)) は常に t と等しいとは限らないことに注意。 時、分、秒、ミリ秒 次の関数が時間値の分解に使用される HourFromTime(t) = floor(t / msPerHour) modulo HoursPerDay MinFromTime(t) = floor(t / msPerMinute) modulo MinutesPerHour SecFromTime(t) = floor(t / msPerSecond) modulo SecondsPerMinute msFromTime(t) = t modulo msPerSecond それぞれ次のように定める HoursPerDay = 24 MinutesPerHour = 60 SecondsPerMinute = 60 msPerSecond = 1000 msPerMinute = msPerSecond × SecondsPerMinute = 60000 msPerHour = msPerMinute × MinutesPerHour = 3600000 MakeTime(hour, min, sec, ms) MakeTime 演算子は、 ECMAScript 数値 でなければならない 4 つの引数から、ミリ秒の数を算出する。この演算子は次のように機能する MakeDay(year, month, date) MakeDay 演算子は、 ECMAScript 数値 でなければならない 3 つの引数から、日数の数を算出する。この演算子は次のように機能する MakeDate(day, time) MakeDate 演算子は、 ECMAScript 数値 でなければならない 2 つの引数から、ミリ秒の数を算出する。この演算子は次のように機能する TimeClip(time) TimeClip 演算子は、 ECMAScript 数値 でなければならない引数から、ミリ秒の数を算出する。この演算子は次のように機能する NOTE ステップ 3 のポイントは、時間値の内部表現、例えば 符号付き 64 ビット整数、または 64 ビット浮動小数点数の値の選択を実装に許可することである。実装に依存して、この内部表現は −0 と +0 を区別してもしなくてもよい。 関数として呼ばれるDateコンストラクタ コンストラクタとしてではなく関数として Date が呼出されるとき、それは現在時間 (UTC) のあらわす文字列を返す。 NOTE 関数呼出し Date(...) と、同じ引数を持つオブジェクト生成式 new Date(...) は、等価ではない。 Date ( [ year [, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] ] ] ) すべたの引数は選択的である; 供給された引数は受け付けるが、それ以外は無視される。文字列が生成され、式 (new Date()).toString() によるものと同様の結果が返される。 Dateコンストラクタ Date が new 式の一部として呼ばれる場合、それはコンストラクタである; 新規にオブジェクトを生成し、初期化する。 new Date (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] ) ate が 2 個から 7 個の引数で呼出されるとき、 year, month, (以下選択的に) date, hours, minutes, seconds , ms から、日付を算出する。 新規に構築されたオブジェクトの Prototype プロパティは、 Date.prototypeの初期値である、オリジナルの Date プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの Class プロパティは、 "Date" に設定される。 新規に構築されたオブジェクトの Value プロパティは次のように設定される new Date (value) 新規に構築されたオブジェクトの Prototype プロパティは、 Date.prototypeの初期値である、オリジナルの Date プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの Class プロパティは、 "Date" に設定される。 新規に構築されたオブジェクトの Value プロパティは次のように設定される new Date () 新規に構築されたオブジェクトの Prototype プロパティは、 Date.prototypeの初期値である、オリジナルの Date プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの Class プロパティは、 "Date" に設定される。 新規に構築されたオブジェクトの Value プロパティは、現在時間 (UTC) に設定される。 Dateコンストラクタのプロパティ Date コンストラクタの内部 Prototype プロパティの値は、 Function プロトタイプオブジェクト 内部プロパティと length プロパティ (値は 7) の他に、 Date コンストラクタは次のプロパティを持つ。 Date.prototype Date.prototype の初期値は、 Date プロトタイプオブジェクト このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } を持つ。 Date.parse (string) parse 関数は、引数に ToString 演算子を適用し、結果の文字列を日付として解析する; 数、その日に該当する UTC 時間値を返す。文字列は地方時、 UTC 時、他のタイムゾーンの時間のどれ解析されてもよく、文字列の内容に依存する。 個々のECMAScript 実装中で ミリ秒が 0 である Date オブジェクトを x とするならば、次の全ての式がその実装中で同じ数字を生成する。全ての参照付けられたプロパティが初期値を持つならば、 then all of the following expressions should produce the same numeric value in that implementation, if all the properties referenced have their initial values x.valueOf() Date.parse(x.toString()) Date.parse(x.toUTCString()) しかしながら、式 Date.parse(x.toLocaleString()) は前の3つの式と同じ数値の生成を要求されない。一般に、その実装の toString か toUTCString メソッドによって生成されえない文字列を与えられたときの Date.parse に生成される値は、実装依存である。 Date.UTC (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] ) UTC 関数が 2 個に満たない引数で呼出されたとき、振る舞いは実装依存である。 UTC 関数が 2 個から 7 個の引数で呼出されるとき、year, month, (以下選択的に) date, hours, minutes, seconds, ms から、日付を算出する。 次のステップが取られる Dateプロトタイプオブジェクトのプロパティ ate プロトタイプオブジェクトは、それ自身が値 NaN の Date オブジェクト (Class が "Date") である。 Date プロトタイプオブジェクトの内部 Prototype プロパティの値は、 Object プロトタイプオブジェクト この後の Date プロトタイプオブジェクトのプロパティである関数の説明において、フレーズ "この Date オブジェクト" は、関数呼出しの this 値であるオブジェクトを参照する。汎用的な関数はない; this が内部 Class プロパティの値が "Date" であるオブジェクトではないならば、例外 TypeError を投げる。また、フレーズ "この時間値" は、この Date オブジェクトに表される時間の数値、すなわち、この Date オブジェクトの内部 Value プロパティの値を参照する。 Date.prototype.constructor .prototype.constructor の初期値は、組込み Date コンストラクタ Date.prototype.toString () この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な形式の Date の表現が意図される。 NOTE 任意の Date 値 d について、 Date.prototype.parse(d.toString())の結果が d と等しいことが意図される。 Date.prototype toDateString () この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な形式の Date の "date" 成分の表現が意図される。 Date.prototype.toTimeString () の関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な形式の Date の "time" 成分の表現が意図される。 Date.prototype.toLocaleString () この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な、ホスト環境の現在のロケールの慣習に該当する形式の Date の表現が意図される。 NOTE この関数の第一引数は、この標準の将来のバージョンで使用される可能性がある; 実装はこのパラメータを他の用途に使用しないことを推奨される。 Date.prototype.toLocaleDateString () この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な、ホスト環境の現在のロケールの慣習に該当する形式の Date の "date" 成分の表現が意図される。 NOTE この関数の第一引数は、この標準の将来のバージョンで使用される可能性がある; 実装はこのパラメータを他の用途に使用しないことを推奨される。 Date.prototype.toLocaleTimeString () この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な、ホスト環境の現在のロケールの慣習に該当する形式の Date の "time" 成分の表現が意図される。 NOTE この関数の第一引数は、この標準の将来のバージョンで使用される可能性がある; 実装はこのパラメータを他の用途に使用しないことを推奨される。 Date.prototype.valueOf () valueOf関数は、この時間地である数値を返す Date.prototype.getTime () この時間値を返す。 Date.prototype.getFullYear () YearFromTime(LocalTime(t))を返す Date.prototype.getUTCFullYear () YearFromTime(t)を返す Date.prototype.getMonth () MonthFromTime(LocalTime(t)) Date.prototype.getUTCMonth () MonthFromTime(t) Date.prototype.getDate () DateFromTime(LocalTime(t)) Date.prototype.getUTCDate () DateFromTime(t) Date.prototype.getDay () WeekDay(LocalTime(t)) Date.prototype.getUTCDay () WeekDay(t) Date.prototype.getHours () HourFromTime(LocalTime(t)) Date.prototype.getUTCHours () HourFromTime(t) Date.prototype.getMinutes () MinFromTime(LocalTime(t)) Date.prototype.getUTCMinutes () MinFromTime(t) Date.prototype.getSeconds () SecFromTime(LocalTime(t)) Date.prototype.getUTCSeconds () SecFromTime(t) Date.prototype.getMilliseconds () msFromTime(LocalTime(t)) Date.prototype.getUTCMiliseconds () msFromTime(t) Date.prototype.getTimezoneOffset () 地方時とUTC時の差を分で返す (t - LocalTime(t)) / msPerMinute Date.prototype.setTime (time) Date.prototype.setMilliseconds (ms) MakeTime(HourFromTime(t), MinFromTime(t), Result(2)) UTC(MakeDate(Day(t), Result(3))) Date.prototy.setUTCMilliseconds (ms) MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), Result(2)) MakeDate(Day(t), Result(3)) Date.prototype.setSeconds (sec[ ms ]) MakeTime(HourFromTime(t), MinFromTime(t), Result(2), Result(3)) UTC(makeDate(Day(t), Result(4))) setSecondsメソッドのlengthプロパティは2 Date.prototype.setUTCSeconds (sec [, ms ]) msが指定されないならば、msにgetUTCMilliseconds()の値を指定されたように振舞う MakeTime(HourFromTime(t), MinFromTime(t), Result(2), Result(3)) MakeDate(Day(t), Result(4)) getUTCSecondsメソッドのlengthプロパティは2 Date.prototype.setMinutes (min [, sec [, ms ] ] ) sec が指定されないならば、 sec に getSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に getMilliseconds( ) の値を指定されたように振舞う。 setMinutes メソッドの length プロパティは 3 Date.prototype.setUTCMinutes (min [, sec [, ms ] ] ) sec が指定されないならば、 sec に値 getUTCSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に値 getUTCMilliseconds( ) の値を指定されたように振舞う。 setUTCMinutes メソッドの length プロパティは 3 Date.prototype.setHours (hour [, min [, sec [, ms ] ] ] ) min が指定されないならば、 min に getMinutes( ) の値を指定されたように振舞う。 sec が指定されないならば、 sec に getSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に getMilliseconds( ) の値を指定されたように振舞う。 setHours メソッドの length プロパティは 4 Date.prototype.setUTCHours (hour [, min [, sec [, ms ] ] ] ) min が指定されないならば、 min に getUTCMinutes( ) の値を指定されたように振舞う。 sec が指定されないならば、sec に getUTCSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に getUTCMilliseconds( ) の値を指定されたように振舞う。 setUTCHours メソッドの length プロパティは 4 Date.prototype.setDate (date) MakeDay(yearFromTime(t), MonthFromTime(t), Result(2)) UTC(MakeDate(Result(3), TimeWithinDay(t))) Date.prototype.setUTCDate (date) MakeDay(YearFromTime(t), MonthFromTime(t), Result(2)) MakeDate(Result(3), TimeWithinDay(t)) Date.prototype.setMonth (month [, date ] ) date が指定されないならば、 date に getDate( ) の値を指定されたように振舞う。 setMonth メソッドの length プロパティは 2 Date.prototype.setUTCMonth (month [, date ] ) date が指定されないならば、 date に getUTCDate( ) の値を指定されたように振舞う。 setUTCMonth メソッドの length プロパティは 2 Date.prototype.setFullYear (year [, month [, date ] ] ) month が指定されないならば、 month に getMonth( ) の値を指定されたように振舞う。 date が指定されないならば、 date に getDate( ) の値を指定されたように振舞う。 setFullYear メソッドの length プロパティは 3 Date.prototype.setUTCFullYear (year [, month [, date ] ] ) month が指定されないならば、 month に getUTCMonth( ) の値を指定されたように振舞う。 date が指定されないならば、 date に getUTCDate( ) の値を指定されたように振舞う。 setUTCFullYear メソッドの length プロパティは 3 Date.prototype.toUTCString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、 UTC の、簡便で人間に読解可能な形式の Date の表現が意図される。 Dateインスタンスのプロパティ Dateインスタンスは、Dateプロトタイプオブジェクトから継承したプロパティの上に、特にプロパティを持たない
https://w.atwiki.jp/tiger/pages/9.html
SYK deficient mice show defective in phagocytosis of macrophages and in generaction of reactive oxygen intermediates of neutrophils. ZAP-70 deficient mice impair the developmnt of NK1.1+ alpha beta T cells. ITK-/- mice reduce mast cell degranulation and acute allergic responses. Vav-2,3(-/-) neurons exhibit impaired axon guidance. Vav-1(-/-) NK cells are dramactically diminished 2B4 PLCG2-deficient mice exhibit a loss of collagen-induced platelet aggregation, mast cell FcepsilonR function, and NK cell FcgammaRIII and 2B4 function. GAB3 has no effect for phenotype. GAB2 deficient mast cells in mice result in impaired response of Fc epsilon RI. GAB2 deficient macrophages in mice result impaired phagocytosis. SYK deficient mice show defective in phagocytosis of macrophages and in generaction of reactive oxygen intermediates of neutrophils. 1 J Exp Med. 1997 Oct 6;186(7) 1027-39. A critical role for Syk in signal transduction and phagocytosis mediated by Fcgamma receptors on macrophages. Crowley MT, Costello PS, Fitzer-Attas CJ, Turner M, Meng F, Lowell C, Tybulewicz VL, DeFranco AL. G.W. Hooper Foundation, University of California, San Francisco, California 94143-0552, USA. mtcrow@scripps.edu Receptors on macrophages for the Fc region of IgG (FcgammaR) mediate a number of responses important for host immunity. Signaling events necessary for these responses are likely initiated by the activation of Src-family and Syk-family tyrosine kinases after FcgammaR cross-linking. Macrophages derived from Syk-deficient (Syk-) mice were defective in phagocytosis of particles bound by FcgammaRs, as well as in many FcgammaR-induced signaling events, including tyrosine phosphorylation of a number of cellular substrates and activation of MAP kinases. In contrast, Syk- macrophages exhibited normal responses to another potent macrophage stimulus, lipopolysaccharide. Phagocytosis of latex beads and Escherichia coli bacteria was also not affected. Syk- macrophages exhibited formation of polymerized actin structures opposing particles bound to the cells by FcgammaRs (actin cups), but failed to proceed to internalization. Interestingly, inhibitors of phosphatidylinositol 3-kinase also blocked FcgammaR-mediated phagocytosis at this stage. Thus, PI 3-kinase may participate in a Syk-dependent signaling pathway critical for FcgammaR-mediated phagocytosis. Macrophages derived from mice deficient for the three members of the Src-family of kinases expressed in these cells, Hck, Fgr, and Lyn, exhibited poor Syk activation upon FcgammaR engagement, accompanied by a delay in FcgammaR-mediated phagocytosis. These observations demonstrate that Syk is critical for FcgammaR-mediated phagocytosis, as well as for signal transduction in macrophages. Additionally, our findings provide evidence to support a model of sequential tyrosine kinase activation by FcgammaR s analogous to models of signaling by the B and T cell antigen receptors. Publication Types Research Support, Non-U.S. Gov t Research Support, U.S. Gov t, P.H.S. PMID 9314552 [PubMed - indexed for MEDLINE] 1 Mol Cell Biol. 1998 Jul;18(7) 4209-20. The Syk protein tyrosine kinase is essential for Fcgamma receptor signaling in macrophages and neutrophils. Kiefer F, Brumell J, Al-Alawi N, Latour S, Cheng A, Veillette A, Grinstein S, Pawson T. Programme in Molecular Biology and Cancer, Samuel Lunenfeld Research Institute, Mount Sinai Hospital, Toronto, Ontario M5G 1X5. The cytoplasmic protein tyrosine kinase Syk has two amino-terminal SH2 domains that engage phosphorylated immunoreceptor tyrosine-based activation motifs in the signaling subunits of immunoreceptors. Syk, in conjunction with Src family kinases, has been implicated in immunoreceptor signaling in both lymphoid and myeloid cells. We have investigated the role of Syk in Fcgamma receptor (FcgammaR)-dependent and -independent responses in bone marrow-derived macrophages and neutrophils by using mouse radiation chimeras reconstituted with fetal liver cells from Syk-/- embryos. Chimeric mice developed an abdominal hemorrhage starting 2 to 3 months after transplantation that was ultimately lethal. Syk-deficient neutrophils derived from the bone marrow were incapable of generating reactive oxygen intermediates in response to FcgammaR engagement but responded normally to tetradecanoyl phorbol acetate stimulation. Syk-deficient macrophages were defective in phagocytosis induced by FcgammaR but showed normal phagocytosis in response to complement. The tyrosine phosphorylation of multiple cellular polypeptides, including the FcgammaR gamma chain, as well as Erk2 activation, was compromised in Syk-/- macrophages after FcgammaR stimulation. In contrast, the induction of nitric oxide synthase in macrophages stimulated with lipopolysaccharide and gamma interferon was not dependent on Syk. Surprisingly, Syk-deficient macrophages were impaired in the ability to survive or proliferate on plastic petri dishes. Taken together, these results suggest that Syk has specific physiological roles in signaling from FcgammaRs in neutrophils and macrophages and raise the possibility that in vivo, Syk is involved in signaling events other than those mediated by immunoreceptors. Publication Types Research Support, Non-U.S. Gov t PMID 9632805 [PubMed - indexed for MEDLINE] ZAP-70 deficient mice impair the developmnt of NK1.1+ alpha beta T cells. 1 Immunol Lett. 2000 Jul 3;73(1) 65-9. Induction of NK1.1(+) alpha beta TCR(+) T cells by bypassing TCR signals in ZAP-70 deficient mice. Tone S, Iwabuchi K, Iwabuchi C, Negishi I, Onoe K. Division of Immunobiology, Section of Pathophysiology, Institute for Genetic Medicine, Hokkaido University, Kita-15 Nishi-7, Kita-Ku, Sapporo 060-0815, Japan. The mechanism of development of a unique subset of T cells, thymic NK1.1(+) alpha beta T cells, has been poorly understood. We found that the development of thymic NK1.1(+) alpha beta T cells was defective in mice deficient in ZAP-70. Instead, an accumulation of NK1.1(+) TCR beta(-) NK-like population was detected in the thymus and spleen of the ZAP-70 deficient (ZAP -/-) mouse. In the present report, we examined whether biochemical treatments that replace TCR-mediated positive selection signals could restore the generation of thymic NK1.1(+) alpha beta T cells in ZAP -/- mice using the thymus organ culture. We found that a higher concentration of phorbol ester (PMA) than that required for CD4(+) T cell generation and ionomycin induced the generation of NK1.1(+) alpha beta T cells. Phenotypic analysis of the induced NK1.1(+) alpha beta T cell population suggested that these cells expressed CD8 but not CD4 molecules, which is a different characteristic from ordinary thymic NK1.1(+) alpha beta T cells. These results suggest that differential signaling is required for the generation of mainstream T cells and thymic NK1.1(+) alpha beta T cells. PMID 10963813 [PubMed - indexed for MEDLINE] ITK-/- mice reduce mast cell degranulation and acute allergic responses. 1 Am J Respir Cell Mol Biol. 2005 Jun;32(6) 511-20. Epub 2005 Mar 18. Interleukin-2-inducible T cell kinase regulates mast cell degranulation and acute allergic responses. Forssell J, Sideras P, Eriksson C, Malm-Erjefalt M, Rydell-Tormanen K, Ericsson PO, Erjefalt JS. Transplantation Center, Foundation for Biomedical Research, Academy of Athens, Athens, Greece. Bruton s tyrosine kinase (Btk) is thought to positively regulate mast cell activation, implying a role in allergic responses. We have compared acute and late phase allergic airway reactions in mice lacking either Btk or interleukin-2-inducible T cell kinase (Itk), another Tec kinase expressed in mast cells. Btk(-/-) mice showed minor protection against allergic symptoms when challenged with allergen via the airways. In sharp contrast, both acute and late phase inflammatory allergic responses were markedly reduced in Itk(-/-) mice. Notably, airway mast cell degranulation in Itk(-/-) mice was severely impaired, despite wild-type levels of allergen-specific IgE and IgG1. The degranulation defect was confirmed in DNP-conjugated human serum albumin-challenged mice passively sensitized with anti-DNP IgE antibodies, and was also observed after direct G-protein stimulation with the mast cell secretagogue c48/80. Moreover, late phase inflammatory changes, including eosinophilia, lymphocyte infiltration, and Th2 cytokine production in the lungs, was eliminated in Itk(-/-) mice. Collectively, our data suggest a critical role of Itk in airway mast cell degranulation in vivo that together with an impaired T cell response prevents the development of both acute and late phase inflammatory allergic reactions. Publication Types Research Support, Non-U.S. Gov t PMID 15778496 [PubMed - indexed for MEDLINE] Vav-2,3(-/-) neurons exhibit impaired axon guidance. 1 Neuron. 2005 Apr 21;46(2) 205-17. Comment in Vav family GEFs link activated Ephs to endocytosis and axon guidance. Cowan CW, Shao YR, Sahin M, Shamah SM, Lin MZ, Greer PL, Gao S, Griffith EC, Brugge JS, Greenberg ME. Neurobiology Program, Children s Hospital, Boston, Massachusetts 02115, USA. Ephrin signaling through Eph receptor tyrosine kinases can promote attraction or repulsion of axonal growth cones during development. However, the mechanisms that determine whether Eph signaling promotes attraction or repulsion are not known. We show here that the Rho family GEF Vav2 plays a key role in this process. We find that, during axon guidance, ephrin binding to Ephs triggers Vav-dependent endocytosis of the ligand-receptor complex, thus converting an initially adhesive interaction into a repulsive event. In the absence of Vav proteins, ephrin-Eph endocytosis is blocked, leading to defects in growth cone collapse in vitro and significant defects in the ipsilateral retinogeniculate projections in vivo. These findings suggest an important role for Vav family GEFs as regulators of ligand-receptor endocytosis and determinants of repulsive signaling during axon guidance. Publication Types PMID 15848800 [PubMed - indexed for MEDLINE] Vav-1(-/-) NK cells are dramactically diminished 1 Eur J Immunol. 2001 Aug;31(8) 2403-10. Vav-1 regulates NK T cell development and NK cell cytotoxicity. Chan G, Hanke T, Fischer KD. Abteilung Physiologische Chemie, Universitat Ulm, Ulm, Germany. The hematopoietic-specific Rho-family GTP exchange factor Vav-1 is a regulator of lymphocyte antigen receptor signaling and mediates normal maturation and activation of B and T cells.Recent findings suggest that Vav-1 also forms part of signaling pathways required for natural and antibody dependent cellular cytotoxicity (ADCC) of human NK cells. In this study, we show that Vav-1 is also expressed in murine NK cells. Vav-1(-/-) mice had normal numbers of splenic NK cells, and these displayed a similar expression profile of NK cell receptors as wild-type mice. Unexpectedly, IL-2-activated Vav-1(-/-) NK cells retained normal ADCC. Fc-receptor mediated activation of ERK, JNK, and p38 was also normal. In contrast, Vav-1(-/-) NK cells exhibited reduced natural cytotoxicity against EL4, C4.4.25, RMA and RMA/S. Together, the results demonstrate that Vav-1 is dispensable for mainstream NK cell development, but is required for NK natural cytotoxicity. Unlike the findings for NK cells, NK T cells were dramatically diminished in Vav-1(-/-) mice and splenocytes from Vav-1 mutant mice failed to produce IL-4 in response to in vivo CD3 stimulation. These data highlight the important role of Vav-1 in NK T cell development and NK cell function. Publication Types Research Support, Non-U.S. Gov t PMID 11500824 [PubMed - indexed for MEDLINE] 2B4 2B4 is a cell-surface glycoprotein related to CD2 and implicated in the regulation of natural killer and T-lymphocyte function. It appears that the primary function of 2B4 is to modulate other receptor-ligand interactions to enhance leukocyte activation. PLCG2-deficient mice exhibit a loss of collagen-induced platelet aggregation, mast cell FcepsilonR function, and NK cell FcgammaRIII and 2B4 function. 1 Immunity. 2000 Jul;13(1) 25-35. Phospholipase Cgamma2 is essential in the functions of B cell and several Fc receptors. Wang D, Feng J, Wen R, Marine JC, Sangster MY, Parganas E, Hoffmeyer A, Jackson CW, Cleveland JL, Murray PJ, Ihle JN. Department of Biochemistry, St. Jude Children s Research Hospital, Memphis, Tennessee 38105, USA. Many receptors activate phospholipase Cgamma1 or -gamma2. To assess the role of PLCgamma2, we derived enzyme-deficient mice. The mice are viable but have decreased mature B cells, a block in pro-B cell differentiation, and B1 B cell deficiency. IgM receptor-induced Ca2+ flux and proliferation to B cell mitogens are absent. IgM, IgG2a, and IgG3 levels are reduced, and T cell-independent antibody production is absent. The similarity to Btk- or Blnk-deficient mice demonstrates that PLCgamma2 is downstream in Btk/Blnk signaling. FcRgamma signaling is also defective, resulting in a loss of collagen-induced platelet aggregation, mast cell FcepsilonR function, and NK cell FcgammaRIII and 2B4 function. The results define a signal transduction pathway broadly utilized by immunoglobulin superfamily receptors. Publication Types PMID 10933392 [PubMed - indexed for MEDLINE] GAB3 has no effect for phenotype. 1 Mol Cell Biol. 2003 Apr;23(7) 2415-24. Gab3-deficient mice exhibit normal development and hematopoiesis and are immunocompetent. Seiffert M, Custodio JM, Wolf I, Harkey M, Liu Y, Blattman JN, Greenberg PD, Rohrschneider LR. Division of Basic Sciences, Fred Hutchinson Cancer Research Center, Seattle, Washington 98109-1024, USA. Gab proteins are intracellular scaffolding and docking molecules involved in signaling pathways mediated by various growth factor, cytokine, or antigen receptors. Gab3 has been shown to act downstream of the macrophage colony-stimulating factor receptor, c-Fms, and to be important for macrophage differentiation. To analyze the physiological role of Gab3, we used homologous recombination to generate mice deficient in Gab3. Gab3(-/-) mice develop normally, are visually indistinguishable from their wild-type littermates, and are healthy and fertile. To obtain a detailed expression pattern of Gab3, we generated Gab3-specific monoclonal antibodies. Immunoblotting revealed a predominant expression of Gab3 in lymphocytes and bone marrow-derived macrophages. However, detailed analysis demonstrated that hematopoiesis in mice lacking Gab3 is not impaired and that macrophages develop in normal numbers and exhibit normal function. The lack of Gab3 expression during macrophage differentiation is not compensated for by increased levels of Gab1 or Gab2 mRNA. Furthermore, Gab3-deficient mice have no major immune deficiency in T- and B-lymphocyte responses to protein antigens or during viral infection. In addition, allergic responses in Gab3-deficient mice appeared to be normal. Together, these data demonstrate that loss of Gab3 does not result in detectable defects in normal mouse development, hematopoiesis, or immune system function. PMID 12640125 [PubMed - indexed for MEDLINE] GAB2 deficient mast cells in mice result in impaired response of Fc epsilon RI. 1 Nature. 2001 Jul 12;412(6843) 186-90. Essential role for Gab2 in the allergic response. Gu H, Saito K, Klaman LD, Shen J, Fleming T, Wang Y, Pratt JC, Lin G, Lim B, Kinet JP, Neel BG. Cancer Biology Program, Division of Hematology and Oncology, Beth Israel Deaconess Medical Center and Harvard Medical School, Boston, Massachusetts 02215, USA hgu@caregroup.harvard.edu. Dos/Gab family scaffolding adapters (Dos, Gab1, Gab2) bind several signal relay molecules, including the protein-tyrosine phosphatase Shp-2 and phosphatidylinositol-3-OH kinase (PI(3)K); they are also implicated in growth factor, cytokine and antigen receptor signal transduction. Mice lacking Gab1 die during embryogenesis and show defective responses to several stimuli. Here we report that Gab2-/- mice are viable and generally healthy; however, the response (for example, degranulation and cytokine gene expression) of Gab2-/- mast cells to stimulation of the high affinity immunoglobulin-epsilon (IgE) receptor Fc(epsilon)RI is defective. Accordingly, allergic reactions such as passive cutaneous and systemic anaphylaxis are markedly impaired in Gab2-/- mice. Biochemical analyses reveal that signalling pathways dependent on PI(3)K, a critical component of Fc(epsilon)RI signalling, are defective in Gab2-/- mast cells. Our data identify Gab2 as the principal activator of PI(3)K in response to Fc(epsilon)RI activation, thereby providing genetic evidence that Dos/Gab family scaffolds regulate the PI(3)K pathway in vivo. Gab2 and/or its associated signalling molecules may be new targets for developing drugs to treat allergy. PMID 11449275 [PubMed - indexed for MEDLINE] GAB2 deficient macrophages in mice result impaired phagocytosis. 1 J Cell Biol. 2003 Jun 23;161(6) 1151-61. Critical role for scaffolding adapter Gab2 in Fc gamma R-mediated phagocytosis. Gu H, Botelho RJ, Yu M, Grinstein S, Neel BG. Harvard Institutes of Medicine, 77 Ave. Louis Pasteur, HIM 1047 Boston, MA 02115, USA. hgu@caregroup.harvard.edu Grb2-associated binder 2 (Gab2), a member of the Dos/Gab subfamily scaffolding molecules, plays important roles in regulating the growth, differentiation, and function of many hematopoietic cell types. In this paper, we reveal a novel function of Gab2 in Fcgamma receptor (FcgammaR)-initiated phagocytosis in macrophages. Upon FcgammaR activation, Gab2 becomes tyrosyl phosphorylated and associated with p85, the regulatory subunit of phosphoinositide 3-kinase (PI3K), and the protein-tyrosine phosphatidylinositol Shp-2. FcgammaR-mediated phagocytosis is severely impaired in bone marrow-derived macrophages from Gab2-/- mice. The defect in phagocytosis correlates with decreased FcgammaR-evoked activation of Akt, a downstream target of PI3K. Using confocal fluorescence microscopy, we find that Gab2 is recruited to the nascent phagosome, where de novo PI3K lipid production occurs. Gab2 recruitment requires the pleckstrin homology domain of Gab2 and is sensitive to treatment with the PI3K inhibitor wortmannin. The Grb2 binding site on Gab2 also plays an auxiliary role in recruitment to the phagosome. Because PI3K activity is required for FcgammaR-mediated phagocytosis, our results indicate that Gab2 acts as a key component of FcgammaR-mediated phagocytosis, most likely by amplifying PI3K signaling in the nascent phagosome. PMID 12821647 [PubMed - indexed for MEDLINE]
https://w.atwiki.jp/allegro_jp/pages/14.html
Event system and events * ALLEGRO_EVENT o ALLEGRO_EVENT_JOYSTICK_AXIS o ALLEGRO_EVENT_JOYSTICK_BUTTON_DOWN o ALLEGRO_EVENT_JOYSTICK_BUTTON_UP o ALLEGRO_EVENT_JOYSTICK_CONFIGURATION o ALLEGRO_EVENT_KEY_DOWN o ALLEGRO_EVENT_KEY_UP o ALLEGRO_EVENT_KEY_CHAR o ALLEGRO_EVENT_MOUSE_AXES o ALLEGRO_EVENT_MOUSE_BUTTON_DOWN o ALLEGRO_EVENT_MOUSE_BUTTON_UP o ALLEGRO_EVENT_MOUSE_WARPED o ALLEGRO_EVENT_MOUSE_ENTER_DISPLAY o ALLEGRO_EVENT_MOUSE_LEAVE_DISPLAY o ALLEGRO_EVENT_TIMER o ALLEGRO_EVENT_DISPLAY_EXPOSE o ALLEGRO_EVENT_DISPLAY_RESIZE o ALLEGRO_EVENT_DISPLAY_CLOSE o ALLEGRO_EVENT_DISPLAY_LOST o ALLEGRO_EVENT_DISPLAY_FOUND o ALLEGRO_EVENT_DISPLAY_SWITCH_OUT o ALLEGRO_EVENT_DISPLAY_SWITCH_IN o ALLEGRO_EVENT_DISPLAY_ORIENTATION * ALLEGRO_USER_EVENT * ALLEGRO_EVENT_QUEUE * ALLEGRO_EVENT_SOURCE * ALLEGRO_EVENT_TYPE * ALLEGRO_GET_EVENT_TYPE * ALLEGRO_EVENT_TYPE_IS_USER * al_create_event_queue * al_destroy_event_queue * al_register_event_source * al_unregister_event_source * al_is_event_queue_empty * al_get_next_event * al_peek_next_event * al_drop_next_event * al_flush_event_queue * al_wait_for_event * al_wait_for_event_timed * al_wait_for_event_until * al_init_user_event_source * al_destroy_user_event_source * al_emit_user_event * al_unref_user_event * al_get_event_source_data * al_set_event_source_data These functions are declared in the main Allegro header file allegro5/allegro.h ALLEGRO_EVENT typedef union ALLEGRO_EVENT ALLEGRO_EVENT; An ALLEGRO_EVENT is a union of all builtin event structures, i.e. it is an object large enough to hold the data of any event type. All events have the following fields in common type (ALLEGRO_EVENT_TYPE) Indicates the type of event. any.source (ALLEGRO_EVENT_SOURCE *) The event source which generated the event. any.timestamp (double) When the event was generated. By examining the type field you can then access type-specific fields. The any.source field tells you which event source generated that particular event. The any.timestamp field tells you when the event was generated. The time is referenced to the same starting point as al_get_time. Each event is of one of the following types, with the usable fields given. ALLEGRO_EVENT_JOYSTICK_AXIS A joystick axis value changed. joystick.id (ALLEGRO_JOYSTICK *) The joystick which generated the event. This is not the same as the event source joystick.source. joystick.stick (int) The stick number, counting from zero. Axes on a joystick are grouped into "sticks". joystick.axis (int) The axis number on the stick, counting from zero. joystick.pos (float) The axis position, from -1.0 to +1.0. ALLEGRO_EVENT_JOYSTICK_BUTTON_DOWN A joystick button was pressed. joystick.id (ALLEGRO_JOYSTICK *) The joystick which generated the event. joystick.button (int) The button which was pressed, counting from zero. ALLEGRO_EVENT_JOYSTICK_BUTTON_UP A joystick button was released. joystick.id (ALLEGRO_JOYSTICK *) The joystick which generated the event. joystick.button (int) The button which was released, counting from zero. ALLEGRO_EVENT_JOYSTICK_CONFIGURATION A joystick was plugged in or unplugged. See al_reconfigure_joysticks for details. ALLEGRO_EVENT_KEY_DOWN A keyboard key was pressed. keyboard.keycode (int) The code corresponding to the physical key which was pressed. See the "Key codes" section for the list of ALLEGRO_KEY_* constants. keyboard.display (ALLEGRO_DISPLAY *) The display which had keyboard focus when the event occurred. Note this event is about the physical keys being press on the keyboard. Look for ALLEGRO_EVENT_KEY_CHAR events for character input. ALLEGRO_EVENT_KEY_UP A keyboard key was released. keyboard.keycode (int) The code corresponding to the physical key which was released. See the "Key codes" section for the list of ALLEGRO_KEY_* constants. keyboard.display (ALLEGRO_DISPLAY *) The display which had keyboard focus when the event occurred. ALLEGRO_EVENT_KEY_CHAR A character was typed on the keyboard, or a character was auto-repeated. keyboard.keycode (int) The code corresponding to the physical key which was last pressed. See the "Key codes" section for the list of ALLEGRO_KEY_* constants. keyboard.unichar (int) A Unicode code point (character). This may be zero or negative if the event was generated for a non-visible "character", such as an arrow or Function key. In that case you can act upon the keycode field. Some special keys will set the unichar field to their standard ASCII values Tab=9, Return=13, Escape=27. In addition if you press the Control key together with A to Z the unichar field will have the values 1 to 26. For example Ctrl-A will set unichar to 1 and Ctrl-H will set it to 8. As of Allegro 5.0.2 there are some inconsistencies in the treatment of Backspace (8 or 127) and Delete (127 or 0) keys on different platforms. These can be worked around by checking the keycode field. keyboard.modifiers (unsigned) This is a bitfield of the modifier keys which were pressed when the event occurred. See "Keyboard modifier flags" for the constants. keyboard.repeat (bool) Indicates if this is a repeated character. keyboard.display (ALLEGRO_DISPLAY *) The display which had keyboard focus when the event occurred. Note in many input methods, characters are not entered one-for-one with physical key presses. Multiple key presses can combine to generate a single character, e.g. apostrophe + e may produce é . Fewer key presses can also generate more characters, e.g. macro sequences expanding to common phrases. ALLEGRO_EVENT_MOUSE_AXES One or more mouse axis values changed. mouse.x (int) x-coordinate mouse.y (int) y-coordinate mouse.z (int) z-coordinate. This usually means the vertical axis of a mouse wheel, where up is positive and down is negative. mouse.w (int) w-coordinate. This usually means the horizontal axis of a mouse wheel. mouse.dx (int) Change in the x-coordinate value since the previous ALLEGRO_EVENT_MOUSE_AXES event. mouse.dy (int) Change in the y-coordinate value since the previous ALLEGRO_EVENT_MOUSE_AXES event. mouse.dz (int) Change in the z-coordinate value since the previous ALLEGRO_EVENT_MOUSE_AXES event. mouse.dw (int) Change in the w-coordinate value since the previous ALLEGRO_EVENT_MOUSE_AXES event. mouse.display (ALLEGRO_DISPLAY *) The display which had mouse focus. Note Calling al_set_mouse_xy also will result in a change of axis values, but such a change is reported with ALLEGRO_EVENT_MOUSE_WARPED events instead. Note currently mouse.display may be NULL if an event is generated in response to al_set_mouse_axis. ALLEGRO_EVENT_MOUSE_BUTTON_DOWN A mouse button was pressed. mouse.x (int) x-coordinate mouse.y (int) y-coordinate mouse.z (int) z-coordinate mouse.w (int) w-coordinate mouse.button (unsigned) The mouse button which was pressed, numbering from 1. mouse.display (ALLEGRO_DISPLAY *) The display which had mouse focus. ALLEGRO_EVENT_MOUSE_BUTTON_UP A mouse button was released. mouse.x (int) x-coordinate mouse.y (int) y-coordinate mouse.z (int) z-coordinate mouse.w (int) w-coordinate mouse.button (unsigned) The mouse button which was released, numbering from 1. mouse.display (ALLEGRO_DISPLAY *) The display which had mouse focus. ALLEGRO_EVENT_MOUSE_WARPED al_set_mouse_xy was called to move the mouse. This event is identical to ALLEGRO_EVENT_MOUSE_AXES otherwise. ALLEGRO_EVENT_MOUSE_ENTER_DISPLAY The mouse cursor entered a window opened by the program. mouse.x (int) x-coordinate mouse.y (int) y-coordinate mouse.z (int) z-coordinate mouse.w (int) w-coordinate mouse.display (ALLEGRO_DISPLAY *) The display which had mouse focus. ALLEGRO_EVENT_MOUSE_LEAVE_DISPLAY The mouse cursor leave the boundaries of a window opened by the program. mouse.x (int) x-coordinate mouse.y (int) y-coordinate mouse.z (int) z-coordinate mouse.w (int) w-coordinate mouse.display (ALLEGRO_DISPLAY *) The display which had mouse focus. ALLEGRO_EVENT_TIMER A timer counter incremented. timer.source (ALLEGRO_TIMER *) The timer which generated the event. timer.count (int64_t) The timer count value. ALLEGRO_EVENT_DISPLAY_EXPOSE The display (or a portion thereof) has become visible. display.source (ALLEGRO_DISPLAY *) The display which was exposed. display.x (int) display.y (int) The top-left corner of the display which was exposed. display.width (int) display.height (int) The width and height of the rectangle which was exposed. Note The display needs to be created with ALLEGRO_GENERATE_EXPOSE_EVENTS flag for these events to be generated. ALLEGRO_EVENT_DISPLAY_RESIZE The window has been resized. display.source (ALLEGRO_DISPLAY *) The display which was resized. display.x (int) display.y (int) The position of the top-level corner of the display. display.width (int) The new width of the display. display.height (int) The new height of the display. Note that further resize events may be generated by the time you process the event, so these fields may hold outdated information. ALLEGRO_EVENT_DISPLAY_CLOSE The close button of the window has been pressed. display.source (ALLEGRO_DISPLAY *) The display which was closed. ALLEGRO_EVENT_DISPLAY_LOST When using Direct3D, displays can enter a "lost" state. In that state, drawing calls are ignored, and upon entering the state, bitmap s pixel data can become undefined. Allegro does its best to preserve the correct contents of bitmaps (see ALLEGRO_NO_PRESERVE_TEXTURE) and restore them when the device is "found" (see ALLEGRO_EVENT_DISPLAY_FOUND). However, this is not 100% fool proof. To ensure that all bitmap contents are restored accurately, one must take additional steps. The best procedure to follow if bitmap constancy is important to you is as follows first, always have the ALLEGRO_NO_PRESERVE_TEXTURE flag set to true when creating bitmaps, as it incurs pointless overhead when using this method. Second, create a mechanism in your game for easily reloading all of your bitmaps -- for example, wrap them in a class or data structure and have a "bitmap manager" that can reload them back to the desired state. Then, when you receive an ALLEGRO_EVENT_DISPLAY_FOUND event, tell the bitmap manager (or whatever your mechanism is) to restore your bitmaps. display.source (ALLEGRO_DISPLAY *) The display which was lost. ALLEGRO_EVENT_DISPLAY_FOUND Generated when a lost device is restored to operating state. See ALLEGRO_EVENT_DISPLAY_LOST. display.source (ALLEGRO_DISPLAY *) The display which was found. ALLEGRO_EVENT_DISPLAY_SWITCH_OUT The window is no longer active, that is the user might have clicked into another window or "tabbed" away. display.source (ALLEGRO_DISPLAY *) The display which was switched out of. ALLEGRO_EVENT_DISPLAY_SWITCH_IN The window is the active one again. display.source (ALLEGRO_DISPLAY *) The display which was switched into. ALLEGRO_EVENT_DISPLAY_ORIENTATION Generated when the rotation or orientation of a display changes. display.source (ALLEGRO_DISPLAY *) The display which generated the event. event.display.orientation Contains one of the following values * ALLEGRO_DISPLAY_ORIENTATION_0_DEGREES * ALLEGRO_DISPLAY_ORIENTATION_90_DEGREES * ALLEGRO_DISPLAY_ORIENTATION_180_DEGREES * ALLEGRO_DISPLAY_ORIENTATION_270_DEGREES * ALLEGRO_DISPLAY_ORIENTATION_FACE_UP * ALLEGRO_DISPLAY_ORIENTATION_FACE_DOWN See also ALLEGRO_EVENT_SOURCE, ALLEGRO_EVENT_TYPE, ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT; An event structure that can be emitted by user event sources. These are the public fields * ALLEGRO_EVENT_SOURCE *source; * intptr_t data1; * intptr_t data2; * intptr_t data3; * intptr_t data4; See also al_emit_user_event ALLEGRO_EVENT_QUEUE typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE; An event queue holds events that have been generated by event sources that are registered with the queue. Events are stored in the order they are generated. Access is in a strictly FIFO (first-in-first-out) order. See also al_create_event_queue, al_destroy_event_queue ALLEGRO_EVENT_SOURCE typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE; An event source is any object which can generate events. For example, an ALLEGRO_DISPLAY can generate events, and you can get the ALLEGRO_EVENT_SOURCE pointer from an ALLEGRO_DISPLAY with al_get_display_event_source. You may create your own "user" event sources that emit custom events. See also ALLEGRO_EVENT, al_init_user_event_source, al_emit_user_event ALLEGRO_EVENT_TYPE typedef unsigned int ALLEGRO_EVENT_TYPE; An integer used to distinguish between different types of events. See also ALLEGRO_EVENT, ALLEGRO_GET_EVENT_TYPE, ALLEGRO_EVENT_TYPE_IS_USER ALLEGRO_GET_EVENT_TYPE #define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d) Make an event type identifier, which is a 32-bit integer. Usually, but not necessarily, this will be made from four 8-bit character codes, for example #define MY_EVENT_TYPE ALLEGRO_GET_EVENT_TYPE( M , I , N , E ) IDs less than 1024 are reserved for Allegro or its addons. Don t use anything lower than ALLEGRO_GET_EVENT_TYPE(0, 0, 4, 0). You should try to make your IDs unique so they don t clash with any 3rd party code you may be using. Be creative. Numbering from 1024 is not creative. If you need multiple identifiers, you could define them like this #define BASE_EVENT ALLEGRO_GET_EVENT_TYPE( M , I , N , E ) #define BARK_EVENT (BASE_EVENT + 0) #define MEOW_EVENT (BASE_EVENT + 1) #define SQUAWK_EVENT (BASE_EVENT + 2) /* Alternatively */ enum { BARK_EVENT = ALLEGRO_GET_EVENT_TYPE( M , I , N , E ), MEOW_EVENT, SQUAWK_EVENT }; See also ALLEGRO_EVENT, ALLEGRO_EVENT_TYPE_IS_USER ALLEGRO_EVENT_TYPE_IS_USER #define ALLEGRO_EVENT_TYPE_IS_USER(t) ((t) = 512) A macro which evaluates to true if the event type is not a builtin event type, i.e. one of those described in ALLEGRO_EVENT_TYPE. al_create_event_queue ALLEGRO_EVENT_QUEUE *al_create_event_queue(void) Create a new, empty event queue, returning a pointer to object if successful. Returns NULL on error. See also al_register_event_source, al_destroy_event_queue, ALLEGRO_EVENT_QUEUE al_destroy_event_queue void al_destroy_event_queue(ALLEGRO_EVENT_QUEUE *queue) Destroy the event queue specified. All event sources currently registered with the queue will be automatically unregistered before the queue is destroyed. See also al_create_event_queue, ALLEGRO_EVENT_QUEUE al_register_event_source void al_register_event_source(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT_SOURCE *source) Register the event source with the event queue specified. An event source may be registered with any number of event queues simultaneously, or none. Trying to register an event source with the same event queue more than once does nothing. See also al_unregister_event_source, ALLEGRO_EVENT_SOURCE al_unregister_event_source void al_unregister_event_source(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT_SOURCE *source) Unregister an event source with an event queue. If the event source is not actually registered with the event queue, nothing happens. If the queue had any events in it which originated from the event source, they will no longer be in the queue after this call. See also al_register_event_source al_is_event_queue_empty bool al_is_event_queue_empty(ALLEGRO_EVENT_QUEUE *queue) Return true if the event queue specified is currently empty. See also al_get_next_event, al_peek_next_event al_get_next_event bool al_get_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event) Take the next event out of the event queue specified, and copy the contents into ret_event, returning true. The original event will be removed from the queue. If the event queue is empty, return false and the contents of ret_event are unspecified. See also ALLEGRO_EVENT, al_peek_next_event, al_wait_for_event al_peek_next_event bool al_peek_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event) Copy the contents of the next event in the event queue specified into ret_event and return true. The original event packet will remain at the head of the queue. If the event queue is actually empty, this function returns false and the contents of ret_event are unspecified. See also ALLEGRO_EVENT, al_get_next_event, al_drop_next_event al_drop_next_event bool al_drop_next_event(ALLEGRO_EVENT_QUEUE *queue) Drop (remove) the next event from the queue. If the queue is empty, nothing happens. Returns true if an event was dropped. See also al_flush_event_queue, al_is_event_queue_empty al_flush_event_queue void al_flush_event_queue(ALLEGRO_EVENT_QUEUE *queue) Drops all events, if any, from the queue. See also al_drop_next_event, al_is_event_queue_empty al_wait_for_event void al_wait_for_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event) Wait until the event queue specified is non-empty. If ret_event is not NULL, the first event in the queue will be copied into ret_event and removed from the queue. If ret_event is NULL the first event is left at the head of the queue. See also ALLEGRO_EVENT, al_wait_for_event_timed, al_wait_for_event_until, al_get_next_event al_wait_for_event_timed bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event, float secs) Wait until the event queue specified is non-empty. If ret_event is not NULL, the first event in the queue will be copied into ret_event and removed from the queue. If ret_event is NULL the first event is left at the head of the queue. timeout_msecs determines approximately how many seconds to wait. If the call times out, false is returned. Otherwise true is returned. See also ALLEGRO_EVENT, al_wait_for_event, al_wait_for_event_until al_wait_for_event_until bool al_wait_for_event_until(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event, ALLEGRO_TIMEOUT *timeout) Wait until the event queue specified is non-empty. If ret_event is not NULL, the first event in the queue will be copied into ret_event and removed from the queue. If ret_event is NULL the first event is left at the head of the queue. timeout determines how long to wait. If the call times out, false is returned. Otherwise true is returned. See also ALLEGRO_EVENT, ALLEGRO_TIMEOUT, al_init_timeout, al_wait_for_event, al_wait_for_event_timed al_init_user_event_source void al_init_user_event_source(ALLEGRO_EVENT_SOURCE *src) Initialise an event source for emitting user events. The space for the event source must already have been allocated. One possible way of creating custom event sources is to derive other structures with ALLEGRO_EVENT_SOURCE at the head, e.g. typedef struct THING THING; struct THING { ALLEGRO_EVENT_SOURCE event_source; int field1; int field2; /* etc. */ }; THING *create_thing(void) { THING *thing = malloc(sizeof(THING)); if (thing) { al_init_user_event_source( thing- event_source); thing- field1 = 0; thing- field2 = 0; } return thing; } The advantage here is that the THING pointer will be the same as the ALLEGRO_EVENT_SOURCE pointer. Events emitted by the event source will have the event source pointer as the source field, from which you can get a pointer to a THING by a simple cast (after ensuring checking the event is of the correct type). However, it is only one technique and you are not obliged to use it. The user event source will never be destroyed automatically. You must destroy it manually with al_destroy_user_event_source. See also ALLEGRO_EVENT_SOURCE, al_emit_user_event, al_destroy_user_event_source al_destroy_user_event_source void al_destroy_user_event_source(ALLEGRO_EVENT_SOURCE *src) Destroy an event source initialised with al_init_user_event_source. This does not free the memory, as that was user allocated to begin with. See also ALLEGRO_EVENT_SOURCE al_emit_user_event bool al_emit_user_event(ALLEGRO_EVENT_SOURCE *src, ALLEGRO_EVENT *event, void (*dtor)(ALLEGRO_USER_EVENT *)) Emit a user event. The event source must have been initialised with al_init_user_event_source. Returns false if the event source isn t registered with any queues, hence the event wouldn t have been delivered into any queues. Events are copied in and out of event queues, so after this function returns the memory pointed to by event may be freed or reused. Some fields of the event being passed in may be modified by the function. Reference counting will be performed if dtor is not NULL. Whenever a copy of the event is made, the reference count increases. You need to call al_unref_user_event to decrease the reference count once you are done a user event that you have received from al_get_next_event, al_peek_next_event, al_wait_for_event, etc. Once the reference count drops to zero dtor will be called with a copy of the event as an argument. It should free the resources associated with the event, but not the event itself (since it is just a copy). If dtor is NULL then reference counting will not be performed. It is safe, but unnecessary, to call al_unref_user_event on non-reference counted user events. See also ALLEGRO_USER_EVENT, al_unref_user_event al_unref_user_event void al_unref_user_event(ALLEGRO_USER_EVENT *event) Decrease the reference count of a user-defined event. This must be called on any user event that you get from al_get_next_event, al_peek_next_event, al_wait_for_event, etc. which is reference counted. This function does nothing if the event is not reference counted. See also al_emit_user_event al_get_event_source_data intptr_t al_get_event_source_data(const ALLEGRO_EVENT_SOURCE *source) Returns the abstract user data associated with the event source. If no data was previously set, returns NULL. See also al_set_event_source_data al_set_event_source_data void al_set_event_source_data(ALLEGRO_EVENT_SOURCE *source, intptr_t data) Assign the abstract user data to the event source. Allegro does not use the data internally for anything; it is simply meant as a convenient way to associate your own data or objects with events. See also al_get_event_source_data
https://w.atwiki.jp/alphaomega/pages/53.html
3.0 MEMORY ORGANIZATION These devices contain the following types of memory Program Memory Data Memory Core Registers Special Function Registers General Purpose RAM Common RAM Device Memory Maps Special Function Registers Summary Data EEPROM memory (*1) Note 1 The Data EEPROM Memory and the method to access Flash memory through the EECON registers is described in Section 11.0 “Data EEPROM and Flash Program Memory Control”. The following features are associated with access and control of program memory and data memory PCL and PCLATH Stack Indirect Addressing 3.1 Program Memory Organization The enhanced mid-range core has a 15-bit program counter capable of addressing a 32K x 14 program memory space. Table 3-1 shows the memory sizes implemented for the PIC12(L)F1822/16(L)F1823 family. Accessing a location above these boundaries will cause a wrap-around within the implemented memory space. TABLE 3-1 DEVICE SIZES AND ADDRESSES Device Program Memory Space (Words) Last Program Memory Address PIC12(L)F1822PIC16(L)F1823 2,048 07FFh FIGURE 3-1 PROGRAM MEMORY MAP AND STACK FOR PIC12(L)F1822/16(L)F1823 A B C 名前
https://w.atwiki.jp/wnt0/pages/20.html
インターフェイスの変換を行い、互換性のないクラスを利用できるようにする 継承アダプタは、クライアントが使用するインターフェイスを実装し、既存のクラスを継承する 委譲アダプタは、クライアントが使用する抽象クラスを実装し、既存クラスの処理を委譲する #include iostream using namespace std; class Target {public virtual void targetMethod() { cout "Original Method." endl; }}; class Adaptee {public void Method() { cout "Adaptee Method." endl; }}; // 継承 Adapterclass DeriveAdapter public Target, public Adaptee {public virtual void targetMethod() { Method(); // Adaptee method() }}; // 包含 Adapterclass InclusionAdapter public Target {public virtual void targetMethod() { _adaptee.Method(); }private Adaptee _adaptee;}; // clientint main() { Target *t = new Target(); t- targetMethod(); // 継承 Adapter Target *t1 = new DeriveAdapter(); t1- targetMethod(); // 包含 Adapter Target *t2 = new InclusionAdapter(); t2- targetMethod(); delete t; delete t1; delete t2; return 0;} 出力 Original Method. Adaptee Method. Adaptee Method. http //www.dofactory.com/Patterns/PatternAdapter.aspx#_self1 をC++にした(structural example) #include iostream using namespace std; // The Target classclass Target {public virtual ~Target() { } virtual void Request() { cout "Called Target Request()" endl; }}; // The Adaptee classclass Adaptee {public void SpecificRequest() { cout "Called SpecificRequest()" endl; }}; // The Adapter classclass Adapter public Target {public Adapter() { _adaptee = new Adaptee(); } virtual ~Adapter() { delete _adaptee; } virtual void Request() { _adaptee- SpecificRequest(); }private Adaptee *_adaptee;}; // clientint main() { Target *target = new Adapter(); target- Request(); delete target; return 0;} 出力 Called SpecificRequest() http //www.dofactory.com/Patterns/PatternAdapter.aspx#_self2 をC++にした(real world example) #include iostream #include string #include ctype.h using namespace std; // The Target classclass Compound {public // constructor Compound(const string chemical) { _chemical = chemical; } virtual void Display() { cout endl "Compound " _chemical " ------ " endl; }protected string _chemical; float _boilingPoint; float _meltingPoint; double _molecularWeight; string _molecularFormula;}; // The Adaptee classclass ChemicalDatabank {public // legacy API float GetCriticalPoint(string compound, const string point) { ToLower(compound); // Melting Point if (point == "M") { if (compound == "water") { return 0.0f; } else if (compound == "benzene") { return 5.5f; } else if (compound == "ethanol") { return -114.1f; } else { return 0.0f; } } // Biling Point else { if (compound == "water") { return 100.0f; } else if (compound == "benzene") { return 80.1f; } else if (compound == "ethanol") { return 78.3f; } else { return 0.0f; } } } string GetMolecularStructure(string compound) { string ret; ToLower(compound); if (compound == "water") { ret = "H2O"; } else if (compound == "benzene") { ret = "C6H6"; } else if (compound == "ethanol") { ret = "C2H5OH"; } return ret; } double GetMolecularWeight(string compound) { ToLower(compound); if (compound == "water") { return 18.015; } else if (compound == "benzene") { return 78.1134; } else if (compound == "ethanol") { return 46.0688; } else { return 0.0; } }private void ToLower(string str) { string iterator it; for (it=str.begin(); it!=str.end(); ++it) { *it = tolower(*it); } }}; // The Adapter classclass RichCompound public Compound {public // constructor RichCompound(const string name) Compound(name) { _bank = NULL; } virtual ~RichCompound() { if (_bank != NULL) delete _bank; } virtual void Display() { if (_bank == NULL) _bank = new ChemicalDatabank(); _boilingPoint = _bank- GetCriticalPoint(_chemical, "B"); _meltingPoint = _bank- GetCriticalPoint(_chemical, "M"); _molecularWeight = _bank- GetMolecularWeight(_chemical); _molecularFormula = _bank- GetMolecularStructure(_chemical); Compound Display(); cout " Formula " _molecularFormula endl; cout " Weight " _molecularWeight endl; cout " Melting Pt " _meltingPoint endl; cout " Boiling Pt " _boilingPoint endl; }private ChemicalDatabank *_bank;}; // clientint main() { // Non-adapted chemical compound Compound *unknown = new Compound("Unknown"); unknown- Display(); // Adapted chemical compounds Compound *water = new RichCompound("Water"); water- Display(); Compound *benzene = new RichCompound("Benzene"); benzene- Display(); Compound *ethanol = new RichCompound("Ethanol"); ethanol- Display(); delete unknown; delete water; delete benzene; delete ethanol; return 0;} 出力 Compound Unknown ------ Compound Water ------ Formula H2O Weight 18.015 Melting Pt 0 Boiling Pt 100 Compound Benzene ------ Formula C6H6 Weight 78.1134 Melting Pt 5.5 Boiling Pt 80.1 Compound Ethanol ------ Formula C2H5OH Weight 46.0688 Melting Pt -114.1 Boiling Pt 78.3 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Adapter http //japan.internet.com/developer/20080902/26.html
https://w.atwiki.jp/yasrun/pages/68.html
package org.yasrun.game.kafunwars; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; public class KafunWarsActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); MyView mView = new MyView(getApplication()); setContentView(mView); mView.start(); } } /** * 描画用のクラス */ class MyView extends View implements Updatable { private static final int KAFUN_MAX = 100; private Paint myPaint = new Paint(); private Bitmap bmpHana = null; private Bitmap bmpKafun = null; private List Kafun kafuns = null; private UpdateHandler updateHandler = new UpdateHandler(this); /** * コンストラクタ * * @param c */ public MyView(Context c) { super(c); setFocusable(true); Resources res = this.getContext().getResources(); bmpHana = BitmapFactory.decodeResource(res, R.drawable.hana); bmpKafun = BitmapFactory.decodeResource(res, R.drawable.kafun); kafuns = new ArrayList Kafun (); } /** * 処理開始 */ public void start() { update(); } /** * タッチイベント */ public boolean onTouchEvent(MotionEvent event) { invalidate(); return true; } /** * メイン */ public void update() { if (Math.random() 0.3 kafuns.size() KAFUN_MAX) { kafuns.add(new Kafun((int) (Math.random() * 320), 0, (int) (Math.random() * 8) - 4, 8)); } final List Kafun deadKafuns = new ArrayList Kafun (); for (Kafun kafun kafuns) { kafun.move(); kafun.judge(); if (kafun.isDead()) { deadKafuns.add(kafun); } } for (Kafun kafun deadKafuns) { kafuns.remove(kafun); } invalidate(); updateHandler.sleep(200); } /** * 描画処理 */ protected void onDraw(Canvas canvas) { canvas.drawColor(Color.BLACK); canvas.drawBitmap(bmpHana, 75, 340, myPaint); if (kafuns != null) { for (Kafun kafun kafuns) { canvas.drawBitmap(bmpKafun, kafun.X, kafun.Y, myPaint); } } } }
https://w.atwiki.jp/0x0b/pages/49.html
Number オブジェクト (Number Objects) 15.7.1 関数として呼ばれる Number コンストラクタ (The Number Constructor Called as a Function) コンストラクタではなく関数として呼出される Number は、型変換を行う。 15.7.1.1 Number ( [ value ] ) value が供給されれば ToNumber(value) により算出した (Number オブジェクトではなく) 数値を返し、供給されなければ +0 を返す。 15.7.2 Number コンストラクタ (The Number Constructor) new 式の一部として呼出される Number はコンストラクタである 新規に生成したオブジェクトを初期化する。 15.7.2.1 new Number ( [ value ] ) 新規に構築されたオブジェクトの Prototype プロパティは、 Number.prototype (セクション 15.7.3.1) の初期値である、オリジナルの Number プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの Class プロパティは、 "Number" に設定される。 新規に構築されたオブジェクトの Value プロパティは、 value が供給されるならば ToNumber(value) に、そうでなければ +0 に設定される。 15.7.3 Number コンストラクタのプロパティ (Properties of the Number Constructor) Number コンストラクタの内部 Prototype プロパティの値は、 Function プロトタイプオブジェクト (セクション 15.3.4) である。 内部プロパティと length プロパティ (値は 1) の他に、 Number コンストラクタは次のプロパティを持つ 15.7.3.1 Number.prototype Number.prototype の初期値は Number プロトタイプオブジェクト (セクション 15.7.4) である。 このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } である。 15.7.3.2 Number.MAX_VALUE Number.MAX_VALUE の値は、Number 型の正の有限数の最大値であり、おおよそ 1.7976931348623157 × 10308 である、 このプロパティは、属性{ DontEnum, DontDelete, ReadOnly } を持つ。 15.7.3.3 Number.MIN_VALUE Number.MIN_VALUE の値は Number 型の正の最小値であり、おおよそ 5 × 10-324. このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } である。 15.7.3.4 Number.NaN Number.NaN の値は NaN である。 このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } である。 15.7.3.5 Number.NEGATIVE_INFINITY Number.NEGATIVE_INFINITY の値は、 -∞ である。 このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } である。 15.7.3.6 Number.POSITIVE_INFINITY Number.POSITIVE_INFINITY の値は、 +∞ である。 このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } である。 15.7.4 Number プロトタイプオブジェクトのプロパティ (Properties of the Number Prototype Object) Number プロトタイプオブジェクト は、それ自身 値が +0 の Number オブジェクト (Class が "Number") である。 Number プロトタイプオブジェクトの内部 Prototype プロパティの値は、 Object プロトタイプオブジェクト (セクション 15.2.3.1) である。 以降、 Number プロトタイプオブジェクトのプロパティである関数の説明において、フレーズ "この Number オブジェクト" は、関数の呼出しにとっての this 値であるオブジェクトを参照する; this 値がオブジェクトではなく、内部 Class プロパティの値が "Number" ならば、例外 TypeError が投げられる。 また、フレーズ "この数値" は、この Number オブジェクトであらわされる数値、つまり、この Number object の内部 Value プロパティの値を参照する。 15.7.4.1 Number.prototype.constructor Number.prototype.constructor の初期値は、組込み Number コンストラクタである。 15.7.4.2 Number.prototype.toString (radix) radix が数 10 または undefined ならば、この数値は引数として ToString 演算子に与えられる; 結果の文字列値が返される。 radix が 2 から 36 の整数で、 10 でないならば、結果は文字列で、実装依存の選択となる。 toString 関数は汎用的ではない; this 値が Number オブジェクトでなければ、例外 TypeError を投げる。それゆえ、他の種類のオブジェクトにメソッドとして転用できない。 15.7.4.3 Number.prototype.toLocaleString() ホスト環境の現在のロケールの慣習に沿って整形される Number の値を表す文字列値を生成する。この関数は実装依存で、 toString と同じものを返すことを許可されているが推奨もされない。 NOTE この関数の第一パラメータは、この標準の将来のバージョンで使用される可能性がある; 実装はこのパラメータを他の用途に使用しないことを推奨する。 15.7.4.4 Number.prototype.valueOf ( ) この数値を返す。 valueOf 関数は汎用的ではない; this 値が Number オブジェクトでなければ、例外 TypeError を投げる。それゆえ、他の種類のオブジェクトにメソッドとして転用できない。 15.7.4.5 Number.prototype.toFixed (fractionDigits) 小数点の後の fractionDigits 個の数字にって数を固定点表記 (fixed-point notation) する文字列を返す。 fractionDigits が undefined ならば、 0 が仮定される。 具体的には、次のステップを実行する f を ToInteger(fractionDigits) とする。 (fractionDigits が undefined ならば、 このステップは値 0 を生成する) f 0 または f 20 ならば、 例外 RangeError を投げる。 x を この数値 とする。 x が NaN ならば、文字列 "NaN" を返す。 s を空文字列とする。 x ≥ 0 ならば、 ステップ 9 へ。 s を "-" とする。 x = - x とする。 x ≥ 1021 ならば、 m = ToString(x) とし、 ステップ 20 へ。 n を、 n ÷ 10f - x の 厳密な数学値が可能な限り 0 に近いような整数とする。そのような n が 2 個あれば、大きい方を n とする。 n = 0 ならば、 m を文字列 "0" とする。 そうでなければ、 m を、 n を 10 進数であらわす数字で構成される文字列とする (順序で 0 は先行しない)。 f = 0 ならば、 ステップ 20 へ。 k を m の文字数とする。 k f ならば、 ステップ 18 へ。 z を、 f + 1 - k 個の文字 0 で構成される文字列とする。 m を文字列 z と m の連結とする。 k = f + 1 とする。 a を m の先頭の k - f 個の文字とし、 b を m の残りの f 個の文字とする。 m を 3 個の文字列 a, ".", b の連結とする。 文字列 s と m の連結を返す。 toFixed メソッドの length プロパティは 1 である。 toFixed メソッドが、 2 個以上の引数で呼出されるならば、振る舞いは未定義である (セクション 15 参照)。 実装は、 0 未満や 20 より大きい fractionDigits の値に対する toFixed の振る舞いの拡張を許可される。この場合、 toFixed はそのような値に対し RangeError を投げる必要はない。 NOTE toFixed の出力は、値によっては toString より正確でよく、それは toString が隣接した数値から数を区別するのに十分な桁数を出力するだけだからである。例えば、 (1000000000000000128).toFixed(0) が "1000000000000000128" を返す一方で、 (1000000000000000128).toString() は "1000000000000000100" を返す。 15.7.4.6 Number.prototype.toExponential (fractionDigits) 1 個の数字、小数点、 fractionDigits 個の数字によって数を指数表記する文字列を返す。 fractionDigits が undefined ならば、数を一意に特定するのに必要とするのと同じ桁数を含む (この場合、数が指数表記で常に出力される点を除き ToString に似ている)。 具体的には、次のステップを実行する x をこの数値とする。 f を ToInteger(fractionDigits) とする。 x が NaN ならば、文字列 "NaN" を返す。 s を空文字列とする。 x ≥ 0 ならば、 ステップ 8 へ。 s を "-" とする。 x = - x とする。 x = +∞ ならば、 m = "Infinity" として、ステップ 30 へ。 fractionDigits が undefined ならば、 ステップ 14 へ。 f 0 または f 20 ならば、 例外 RangeError を投げる。 x = 0 ならば、 ステップ 16 へ。 e と n を、10f ≤ n 10f+1 かつ 厳密な n × 10e-f - x の数学値が可能な限り 0 に接近するような整数とする。そのような e と n の組が 2 組あるならば、 n × 10e-f が大きい方の e と n を採用する。 ステップ 20 へ。 x ≠ 0 ならば、 ステップ 19 へ。 f = 0 とする。 m を f+1 個の文字 0 で構成される文字列とする。 e = 0 とする。 ステップ 21 へ。 e, n, f を、 f ≥ 0, 10f ≤ n 10f+1, n × 10e-f の数値が x, かつ, 可能な限り小さい f であるような整数とする。 n の10 進数表記が f+1 個の数字を持つこと、 n は 10 で割り切れないこと、 n の最小桁の数字は、これらの判定基準によって一意的に決定される必要がないことに注意。 m を、 n の 10 進数表記の数字で構成される文字列 (順序として 0 は先行しない) とする。 f = 0 ならば、 ステップ 24 へ。 a を m の先頭の文字、 b を m の残りの f 個の文字とする。 m を、 3 個の文字列 a, ".", b の連結とする。 e = 0 ならば、c = "+" , d = "0" として、 ステップ 29 へ。 e 0 ならば、c = "+" として、ステップ 28 へ。 c = "-" とする。 e = - e とする。 d を、 e の 10 進数表記の数字で構成される文字列 (順序として 0 は先行しない) とする。 m を、 4 個の文字列 m, "e", c, d の連結とする。 文字列 s と m の連結を返す。 toExponential メソッドの length プロパティは 1 である。 toExponential メソッドが 2 個以上の引数で呼出されるならば、その振る舞いは未定義である (セクション 15 参照)。 実装は、 fractionDigits が 0 より小さい場合、また 20 より大きい場合の toExponential の振る舞いの拡張を許可される。この場合 toExponential はその値に例外 RangeError を投げる必要はない。 NOTE 上記の規則の要求よりもより精密な取り決めを提供する実装については、ステップ 19 の次の代替バージョンをガイドラインとして用いることを推奨する e, n, f を、 f ≥ 0, 10f ≤ n 10f+1, n × 10e-f の数値が x, かつ, 可能な限り小さい f であるような整数とする。複数の n が存在可能であれば、 n × 10e-f が x の値に最も近いような n の値を選択する。可能な n の値が 2 個あれば、偶数である方を選択する。 15.7.4.7 Number.prototype.toPrecision (precision) 1 個の数字、小数点、 precision-1 個の数字による指数表記、または precision 桁の数字による固定点表記の一方であらわされる数を含む文字列を返す。 precision が undefined ならば、代わりに ToString (セクション 9.8.1) を呼出す。具体的には、次のステップを実行する x をこの数値とする。 precision が undefined ならば、 ToString(x) を返す。 p を ToInteger(precision) とする。 x が NaN ならば、 the string "NaN" を返す。 s を空文字列とする。 x ≥ 0 ならば、 ステップ 9 へ。 s を "-" とする。 x = - x とする、 x = +∞ ならば、 m = "Infinity" として、ステップ 30 へ。 p 1 または p 21 ならば、 例外 RangeError を投げる。 x ≠ 0 ならば、 ステップ 15 へ。 m を p 個の文字 0 で構成される文字列とする。 e = 0 とする。 ステップ 18 へ。 e と n を、 10p-1 ≤ n 10p であり、かつ n × 10e-p+1 - x の厳密な数学値が可能な限り 0 に近いような整数とする。 e と n の組が 2 個存在するならば、 n × 10e-p+1 が大きい方の e と n を採用する。 m を、 n の 10 進数表記の数字で構成される文字列 (順序として 0 は先行しない) とする。 e -6 または e ( p ならば、 ステップ 22 へ。 e = p-1 ならば、 ステップ 30 へ。 e ≥ 0 ならば、 m を、 m の最初の e+1 個の文字, 文字 . , m の残り p- (e+1) 個の文字 の連結として、 ステップ 30 へ。 m を文字列 "0.", -(e+1) 個の文字 0 , 文字列 m の連結とする。 ステップ 30 へ。 a を m の最初の文字とし、 b を m の残りの p-1 個の文字とする。 m を、 3 個の文字列 a, ".", b の連結とする。 e = 0 ならば、 c = "+" , d = "0" として、ステップ 29 へ。 e 0 ならば、 c = "+" として、ステップ 28 へ。 c = "-" とする。 e = - e とする。 d を、 e の 10 進数表記の数字で構成される文字列 (順序として 0 は先行しない) とする。 m を4 個の文字列 m, "e", c, d の連結とする。 文字列 s と m の連結を返す。 toPrecision メソッドの length プロパティは 1 である。 toPrecision メソッドが 2 個以上の引数で呼出されるならば、その振る舞いは未定義である (セクション 15 参照)。 実装は、 precision の値が 0 より小さい場合、また 21 より大きい場合の toPrecision の振る舞いの拡張を許可される。この場合 toPrecision はその値に例外 RangeError を投げる必要はない。 15.7.5 Number インスタンスのプロパティ (Properties of Number Instances) Number インスタンスは、Number プロトタイプオブジェクトから継承するプロパティの上に特にプロパティを持たない。
https://w.atwiki.jp/clover_industry/pages/110.html
tttt - ttt 2014-05-19 00 49 14
https://w.atwiki.jp/naganu/pages/151.html
問127 [ ]内の研究に関する記述のうち、正しいのはどれか。2つ選べ。 1883年、遠洋航海に出ていた練習船の乗員376名のうち169名が脚気に罹るという事態が発生した。海軍医務局長の高木兼寛は、脚気の原因が食事の質であると考え、特に食事中の炭素:窒素比の値が15を大きく超えると発生することに注目した。1884年、季節、乗組員、航路などの条件を一致させ、白米主体の食事から麦飯や洋食に変えただけで航海を実施したところ、脚気はほとんど発生せず、全員無事に帰国した。鈴木梅太郎が脚気の予防因子を米糠から抽出するのに成功したのは、その25年以上も後のことである。 1 この研究は、疫学の症例対照研究に相当する。 2 この研究では、脚気の予防に有効な因子は炭水化物である可能性が示唆される。 3 この研究では、白米に脚気の原因物質が含まれている可能性が排除できない。 4 鈴木梅太郎が得た抽出物の有効成分は、のちにビタミンB1であることがわかった。 次の問題