hpprc/jawiki-books huggingface dataset:
JavaScript/Date

Dateオブジェクトは日付を扱うためのオブジェクトです。 次の様に書くことで、現在時を取得する事が出来る。
この後、toStringメソッド等を利用して日付を文字列に変換して人可読な形式にしていく。
日付を指定してオブジェクトを作成したい場合には、次の様に日付を指定していく。
(年を0~99で指定した場合は19xx年を設定するため、西暦0~99年を指定したいときはsetFullYearを利用する。)
Dateオブジェクトには次の問題点があります。
まず、Dateオブジェクトは有限の範囲の日付しか扱えません。 この範囲は、UNIX時間にNumber.MAX_SAFE_INTEGER(2 ** 53 - 1)ミリ秒足したものではない事に注意してください。 ECMA-262 は、Dateオブジェクトで表すことができる時刻の範囲はエポックから前後 ±100,000,000 (1億) 日、紀元前271821年4月20日から紀元275760年9月13日)と定義しています。
また、現行の協定世界時 (UTC) において、世界時のUT1との差を調整するため、閏秒(うるうびょう)が挿入されますが、ECMA標準では挿入されない仕様となっています。そのため、秒単位では違いがある可能性があります。
文字列を解析して、1970年1月1日からの経過時間をミリ秒単位で返します。
解析した結果はDateオブジェクトで返されるわけではないので、Dateオブジェクトへの変換は次の様に行う。
RFC2822 または ISO 8601 の日付を表す文字列であればECMAScriptの仕様に従う限りパースできます。それ以外の書式は実装に依存しています。
1970年1月1日からの経過時間をミリ秒単位で返します。
地方時の西暦の年を返します。よく似たメソッドにDate.prototype.getYear()がありますが、これは1900年からの年数を返すので注意が必要です。
地方時の月を返します。返される値は0~11の範囲の値を取り、実際の月数より1少ない。 つまり1月の場合は0、2月の場合は1が返ります。月名を列挙した配列の添字とおぼえて下さい。
地方時の日付(1~31)を取得する。
地方時の曜日を取得する。Date.prototype.getDay() メソッドは、地方時に基づき、指定された日付の「曜日」を返します。
地方時の時間(0~23)を取得する。
地方時の分(0~59)を取得する。
地方時の秒(0~59)を取得する。
地方時の1秒未満(ミリ秒単位)を取得する。
地方時の年を設定する。
地方時の月(0-11)を設定する。
地方時の日を設定する。
地方時の時を設定する。
地方時の分を設定する。
地方時の秒を設定する。
地方時の1秒未満(ミリ秒単位)を設定する。
ここまでのメソッドは、地方時を対象にしていましたが、国や地域によって違うタイムゾーンの影響を廃するため協定世界時(Coordinated Universal Time)を対象とするメソッドが用意されています。
協定世界時での年を取得する。
協定世界時での月(0-11)を取得する。
協定世界時での日付を取得する(1-31)。
協定世界時での週を取得する。0が日曜日
協定世界時での分を取得する。
協定世界時での秒を取得する。
協定世界時での1秒未満をミリ秒単位に取得する。
協定世界時での年を設定します。
協定世界時での月を設定します。
協定世界時での日を設定します。
協定世界時での時間を設定します。
協定世界時での分を設定します。
協定世界時での秒を設定します。
協定世界時でのミリ秒を設定します。
これらのメソッドは時間を人可読な文字列にします。
Dateオブジェクトの日付時刻とタイムゾーンを文字列で返します。 どの様な値を返すのかは仕様に定められておらす、実装によって微妙に値は異なる。 ES2018/ES9までは、 Date.prototype.toString が返す文字列の書式は実装に依存していました。 d.valeuOf() が 1000 で割り切れるような Date オブジェクト d については、Date.parse(d.toString()) === d.valueOf() が真となります。
"Mon Jun 28 2021 07:36:27 GMT+0900 (日本標準時)" の様な文字列が返ります。
Dateオブジェクトの日付をを文字列で返します。
"Mon Jun 28 2021" の様な文字列が返ります。
Dateオブジェクトの時刻とタイムゾーンを文字列で返します。
"08:58:39 GMT+0900 (日本標準時)" の様な文字列が返ります。
Dateオブジェクトの日付時刻とタイムゾーンを言語と国(や地域)に合わせた日時の文字列を返します。 {{See also| Intl.DateTimeFormat()
の様な文字列が返ります。
Dateオブジェクトの日付時刻とタイムゾーンを言語と国(や地域)に合わせた日付の文字列を返します。
Dateオブジェクトの日付時刻とタイムゾーンを言語と国(や地域)に合わせた時刻の文字列を返します。
Dateオブジェクトの日付時刻とタイムゾーンを文字列を協定世界時で返します。
"Mon, 28 Jun 2021 00:32:41 GMT" の様な文字列が返ります。
1970年1月1日0時0分UTC(いわゆるエポック)からの通算ミリ秒単位で取得する。 これは一般的にはUNIX時間と言われる時間でUnix内部での時間管理の仕組みと合わせてある。
動作はvalueOfメソッドと同じであるが歴史的経緯からこちらの方の使用を推奨する。
1970年1月1日0時0分からの経過時間(ミリ秒)で時間を設定する。
現在の環境とUTC標準との時間差を分で返します。 日本の場合はロンドンからは9時間前倒しなので、9(時間)×60(分)で「-540(分)」が返ります。
Dateオブジェクトの各種メソッドの変換結果を調査しました。
JavaScript/正規表現

正規表現で文字列を検索する前に、文字列で文字列を検索する下記のコードを学びましょう。
JavaScriptでは、まず文字列オブジェクトのsearch関数によって、探す文字列が何文字めに出現するかを返します。search関数は先頭の文字を0文字目として数えるため、上記コードでは +1 しています。 文字が見つからなかった場合、searchメソッドは -1 を返します。 ~indexは -1 と比較するイディオムで、-1 だったときだけ false になります。
正規表現とは、上記のコードの「/k/」の部分です。JavaScriptでは正規表現リテラルをスラッシュではじめ、スラッシュで終わらせます。フラグを用いる場合は、末尾のスラッシュに続けて記述します。
まず、フラグを何も指定しない場合、大文字と小文字が区別されることを確認しましょう。 '
このように、iフラグ無しでは大文字と小文字は区別されます。
コード例
結果
iフラグを追加することで、大文字と小文字は区別されなくなります。
正規表現で
の形式でUnicode プロパティエスケープに基づくパターンマッチングが出来るようになりました。
正規表現で
の形式で名前付きキャプチャグループが使えるようになりました。
の形式で置き換え対象で参照出来ます。
JavaScriptの正規表現オブジェクトの実体はRegExpオブジェクトのインスタンスです。RegExpオブジェクトのコンストラクタは第一引数に正規表現、第二引数にフラグを受け取ります。 第一引数の正規表現に\dや\sなどのメタ文字が含まれる場合は、バックスラッシュが文字列リテラルのエスケープ文字として扱われないように、\\とエスケープする必要があります。
PerlのquotemetaやRubyのRegExp.quoteのように、()や[]など正規表現のメタ文字と解釈される可能性のある文字をエスケープして返す関数は、Stringオブジェクトのreplaceメソッドを使用して簡単に作成することができます。
Python

Pythonは高水準な汎用プログラミング言語です。 Pythonの設計思想は、コードの読みやすさを重視しています。 たとえばブロックは波括弧 { } ではなくインデントで構造化されているなど、その構造に対するアプローチは独特です。
また、Pythonは、オブジェクト指向・インタープリタ型・動的型付け・クロスプラットフォームなプログラミング言語です。 これらのアプローチは、プログラマーが小規模および大規模なプロジェクトで自己説明的で論理的なコードを書けるようにすることを目的としています。
標準モジュール — 標準モジュールの一覧
?

Python 3.12 には、いくつかの新機能が追加されています。以下にいくつかの新機能とそれらを使用するためのコード例を示します。
Python 3.12 では、with ステートメントのコンテキストマネージャーに括弧を付けることができます。これにより、コンテキストマネージャーが複数の行にまたがっている場合に、より読みやすいコードを書くことができます。
Python 3.10 で導入されたパターンマッチングには、Python 3.12 で改良が加えられました。例えば、以下のように | を使用して複数のパターンをマッチングすることができます。
Python 3.9 で導入された zoneinfo モジュールは、Python 3.12 で改良が加えられました。これにより、タイムゾーンを扱うためのさまざまな機能が追加されました。
Python/整理中 (複素数、正規表現、HTTPクライアント、JSON、pass)
刑法第202条

(自殺関与及び同意殺人)
2022年、以下のとおり改正(施行日2025年6月1日)。。
生命については、被害者の承諾・同意が違法性を阻却する事由とはならないが、殺人罪(第199条)とは別の罪を構成する。
旧刑法において、殺人罪については以下の通り規定されていた。
(Inducing or Aiding Suicide; Homicide with Consent)
刑法第207条

(同時傷害の特例)
共犯にない数人が、同時に暴行を加えて傷害を負わせた場合において、各自の暴行と傷害との因果関係を立証することは事実上困難である。そのため、同時に暴行を加えた場合には、行為者側でその傷害が自己の暴行によるものではないことを立証しない限り、意思の連絡がなくても共同正犯として扱い、傷害の結果全体について責任を負うとしたものである。
刑法第208条の2

(凶器準備集合及び結集)
2022年、以下のとおり改正(施行日2025年6月1日)。
自動車の運転により人を死傷させる行為等の処罰に関する法律(平成25年11月27日法律第86号 「自動車運転処罰法」)が制定され、危険運転致死傷および自動車運転過失致死傷の規定は、同法第2条及び第3条に継承されたため「危険運転致死傷罪」に関する条項は削除され、第208条の3に定められていた「凶器準備集合罪」の条数が、2001年改正前の条数に繰り上がった。
本改正以前は、自動車運転加害については、業務上過失致死傷罪(刑法第211条)が適用されていたが、飲酒運転などを原因とする事故などについて、刑が軽すぎるなどの批判があり、2001年法改正で「危険運転致死傷罪」を創設し(詳細は自動車運転処罰法第2条参照)、それまで、本条にあった凶器準備集合罪は第208条の3に繰り下がった。
刑法第211条

(業務上過失致死傷等)
2022年、以下のとおり改正(施行日2025年6月1日)。
第2項は、「自動車の運転により人を死傷させる行為等の処罰に関する法律(平成25年11月27日法律第86号)」の制定に伴い、同法第5条に趣旨を移行し、平成26年5月20日に同法の施行に伴い削除。
「危険運転」概念だけでは、交通事犯該当性が曖昧であると認識されたため、「自動車の運転」自身重い注意義務を負っている旨を明示し、第2項を以下のとおり改正。
「危険運転致死傷罪(旧・刑法第208条の2)」の新設に伴い、以下の条項が「危険運転」までに至らない場合、本罪の重複適用を回避すべく新設された。
Wikijunior:物質/はじめに

ウィキジュニアにある本の数々は、たくさんの大人の人たちが協力して、小学生の子どもにもわかりやすいように書いたものです。しかし、このページを書いたのはみなさんよりもずっと年が上の人たちなので、もしかしたらむずかしい言葉が書かれているかもしれません。そんなときには、まわりの大人に聞いてみたり、ページの上のほうにあるノートという文字をクリックして、そこに書きこんだりしてみてください。それを見た大人の人たちができるだけ努力してくれるはずです。
また、ここの本にのっている情報だけで満足できないときは、ぜひインターネットにあるほかのページも調べてみてください。もしかしたらここには書かれていないことを見つけることができるかもしれませんよ。自分の興味のあることを、調べたり学習したりしたことは必ず大人になったときに役に立つはずです。
Wikijunior:人間の体/はじめに

ウィキジュニアにある本の数々は、たくさんの大人の人たちが協力して、小学生の子どもにもわかりやすいように書いたものです。しかし、このページを書いたのはみなさんよりもずっと年が上の人たちなので、もしかしたらむずかしい言葉が書かれているかもしれません。そんなときには、まわりの大人に聞いてみたり、ページの上のほうにあるノートという文字をクリックして、そこに書きこんだりしてみてください。それを見た大人の人たちができるだけ努力してくれるはずです。
また、ここの本にのっている情報だけで満足できないときは、ぜひインターネットにあるほかのページも調べてみてください。もしかしたらここには書かれていないことを見つけることができるかもしれませんよ。自分の興味のあることを、調べたり学習したりしたことは必ず大人になったときに役に立つはずです。
Wikijunior:物質/物質とは?

わかりやすい言葉でいうと、物質(ぶっしつ)とは、この世界にあるもののうち、そこにあることを感じることができて、重さをもっているもののことです。物質は、原子(げんし)と呼ばれる、人間の目には見えないとても小さな粒の集まりで、原子の種類のことを元素(げんそ)といいます。今までに100種類くらいの元素があることがわかっています。そして、おどろいたことに、わたしたちがふだんの生活で見たりふれたりしているものは、ほぼすべてがこの100種類くらいの組み合わせでつくられたものなのです。反対のものは、時間や心などの、そこにあることを感じることができなかったり重さを持たないもので、これらのことを非物質(ひぶっしつ)といいます。
物質の状態は、大きく分けると、固体(こたい)、液体(えきたい)、気体(きたい)、プラズマ(イオン)の4つに分けることができ、必ずどれかの状態でこの世界に存在しています(ただし、ふつうプラズマやイオンは、分類のうえでは気体のひとつとして数えられることが多いです)。
上に書いた、鉄、水、空気のたとえは、あくまで常温(「じょうおん」、ふだんわたしたちが生活しているときの温度)の場合で、あまりに圧力(あつりょく)や温度が変わりすぎると、同じ物質でも状態が別のものに変化することがあります。これを相転移(そうてんい)といいます。相転移には下のような種類があります。
最初の鉄、水、空気でたとえると、
もちろん、ここで書かなかった物質にもこのルールは当てはまります。物質によって必要な圧力や温度はいろいろちがいますが、ほぼすべての物質が、圧力や温度を変えることで別の状態へと変化します。
Wikijunior:物質/著作権について

© 2009-2010 Wikijunior:物質の有志編集者 all rights reserved.
この本は、クリエイティブ・コモンズ 表示-継承ライセンス 3.0およびGFDLで定められている条件のもとに公開されています。 コピー、改変、再配布などの再利用は許可していますが、その際もこの条件に従わなくてはなりません。 くわしくは下の「著作権について」の「お子様たちへ」や「大人の方たちへ」にある箇条書き(■)をご覧ください。
今このページを見ているみなさんは著作権(ちょさくけん)という言葉を知っていますか?一言で説明すると、ほかの人がつくった文章・画像・映像・音楽などの著作物(ちょさくぶつ)を、つくった人の許可を取らずに、ほかの人に見せたり・配ったり・書きかえたりをしてはいけない、という決まりです。これはインターネットで見たり聞いたりすることができる著作物も同じです。たとえば、インターネットにのっていた文章をコピーして、自分のページにのせたりするだけでもにしん害(い反)なってしまうのです(最初に文章を書いた人の許可を取らずに、ほかの人に見せてしまったため)。なので、インターネットを利用するときには十分に注意しましょう。
しかし、このウィキジュニアにある本は、書いた人の許可がすでに取られています。あなたが見るだけでなく、ほかの人に見せることもできますし、ほかのインターネットのページにのせたりすることもできますし、ほかの人にこの本を配ることもできますし、本の中身を書きかえることもできます(これらのことを著作物の再公開(ちょさくぶつのさいこうかい)または著作物の再利用(ちょさくぶつのさいりよう)と言います)。ただし、次のような決まりを守ってください。
ほかにも細かい決まりごとはたくさんありますが、ここでは説明を省きます。どうしても知りたい人は、下の「大人の方たちへ」という部分を大人に読んでもらってください。 ほかのインターネットのページにこの本をコピーしてのせるときには、このページもいっしょにコピーしてのせておくことをおすすめします。そうすれば、自動的にこの決まりをほかの人にも知らせたことにできます。
この本は、クリエイティブ・コモンズ 表示-継承ライセンス 3.0およびGFDLで定められている条件のもとに公開されています。 大体は上記の子ども向けの節で説明した通りですが、以下の点にも留意してください。
JavaScript/String/fromCharCode

fromCharCodeメソッドは0x41, 0x42, 0x43のような文字コード列を "ABC" のような文字列に変換して返します。このメソッドはECMA-262第1版で規定され、JavaScript 1.2で実装されました。JavaScript 1.3以降は引数をISO/IEC 8859-1のバイト表現ではなく、Unicodeのバイト表現として扱うように変更されています。逆に "A" のような文字を0x41のような文字コードに変換するには、String.prototype.charCodeAtメソッドを使用します。
fromCharCodeメソッドはUnicodeの文字コード(バイト表現)の数値のリストを受け取り、それらを文字に変換して連結した文字列を返します。これは文字列リテラルのUnicodeエスケープシーケンスと同じ働きをします。たとえば、"\u3000" とString.fromCharCode(0x3000)は等価です(さらに "\x41" はString.fromCharCode(0x41)と等価)。fromCharCodeメソッドはStringオブジェクトの静的なメソッドであり、Stringオブジェクトのインスタンスには継承されないので、必ずString.fromCharCodeという形で呼び出す必要があります。
たとえば "A" から "Z" までのラテン文字を要素に持つ配列は、次のようにfromCharCodeメソッドを使用して生成することができます。
または
fromCharCodeメソッドはECMAScriptの仕様上および多くのJavaScriptの処理系の実装では、0x10000 == 65536以上の文字コードの値(サロゲートペア)には対応していません('\0' が返されます)。これはUnicodeエスケープ文字やその他の文字列を扱うメソッドでも同様です。fromCharCodeメソッドでサロゲートペアの文字コードを扱うには、次のような非標準の拡張を使用します。
Wikijunior:太陽系/著作権について

今このページを見ているみなさんは著作権(ちょさくけん)という言葉を知っていますか?一言で説明すると、ほかの人がつくった文章・画像・映像・音楽などの著作物(ちょさくぶつ)を、つくった人の許可を取らずに、ほかの人に見せたり・配ったり・書きかえたりをしてはいけない、という決まりです。これはインターネットで見たり聞いたりすることができる著作物も同じです。たとえば、インターネットにのっていた文章をコピーして、自分のページにのせたりするだけでもにしん害(い反)なってしまうのです(最初に文章を書いた人の許可を取らずに、ほかの人に見せてしまったため)。なので、インターネットを利用するときには十分に注意しましょう。
しかし、このウィキジュニアにある本は、書いた人の許可がすでに取られています。あなたが見るだけでなく、ほかの人に見せることもできますし、ほかのインターネットのページにのせたりすることもできますし、ほかの人にこの本を配ることもできますし、本の中身を書きかえることもできます(これらのことを著作物の再公開(ちょさくぶつのさいこうかい)または著作物の再利用(ちょさくぶつのさいりよう)と言います)。ただし、次のような決まりを守ってください。
ほかにも細かい決まりごとはたくさんありますが、ここでは説明を省きます。どうしても知りたい人は、下の「大人の方たちへ」という部分を大人に読んでもらってください。 ほかのインターネットのページにこの本をコピーしてのせるときには、このページもいっしょにコピーしてのせておくことをおすすめします。そうすれば、自動的にこの決まりをほかの人にも知らせたことにできます。
この本は、クリエイティブ・コモンズ 表示-継承ライセンス 3.0およびGFDLで定められている条件のもとに公開されています。 大体は上記の子ども向けの節で説明した通りですが、以下の点にも留意してください。
JavaScript/NaN

NaN(ナン、Not a Number、非数、ひすう)とは、数値でないことを表す特殊な値です。IEEE 754の定義より、NaNはNaN自身を含むあらゆる値と等しくありません。また、 Boolean コンテキストに現れたときに偽とみなされます(Falsy)。 IEEE 754 では、NaN は qNaN(quiet NaN)とsNaN(signaling NaN)の2つが定められバイナリ表現も違っています。JavaScript の NaN は全て qNaN です。即ち、メソッドが NaN を返す場合は例外は throw されません(ゼロ除算例外の様な算術例外はありません)。
JavaScriptではゼロ除算や-1の平方根・対数など、定義されていない演算はNaNを返します。
また、NumberオブジェクトのコンストラクタやparseInt、parseFloatなど、オブジェクトを数値に変換する関数に対して数値に変換できないオブジェクト(たとえば "A" などの文字列)を渡すとNaNが返されます。オブジェクトを数値に変換できたかどうかはisNaN関数で調べることができます。
NaNの値はNumber.NaNプロパティで取得することができます。JavaScript 1.3以降ではNumber.NaNを値に持つグローバル変数NaNが定義されていますが、グローバル変数NaNは後方互換のため、JavaScriptのプリミティブ値ではなく書き換え可能な変数として定義されています。NaNの値を取得する必要がある場合はNumber.NaNプロパティを使用してください。
JavaScript/String/prototype/localeCompare

localeCompareメソッドは文字列と与えられた文字列を現在のロケールに基づいて比較します。このメソッドはECMA-262第3版で規定されました。
localeCompareメソッドは文字列stringと与えられた文字列anotherStringを現在のロケールに基づいて比較し、stringがanotherStringよりも前に来る場合は負の値、後に来る場合は正の値、等しければ0または-0を返します。ただし、文字列同士の比較には通常数値と同じ比較演算子を使用します。localeCompareメソッドはECMA-262標準に含まれていますが、処理系によっては実装されていない、もしくは挙動が異なる場合があります。
JavaScript/String/prototype/quote

quoteメソッドは文字列を "" で囲んだ文字列を返します。文字列に含まれる " は \" にエスケープされます。このメソッドは非標準です。
quoteメソッドは文字列を二重引用符 "" で囲んだ文字列を返します。このメソッドはSpiderMonkeyの独自拡張であり、処理系によっては実装されていない可能性があります。
JavaScript/String/prototype/toLocaleLowerCase

toLocaleLowerCaseメソッドは現在のロケールに基づいて文字列に含まれる大文字を小文字に変換して返します。多くのロケールにおいて、このメソッドはtoLowerCaseメソッドと同じ結果を返します。逆に現在のロケールに基づいて小文字を大文字に変換するにはtoLocaleUpperCaseメソッドを使用します。
toLocaleLowerCaseメソッドは現在のロケールに基づいて文字列に含まれる大文字を小文字に変換して返します。トルコ語、アゼルバイジャン語、タタール語、クリミア・タタール語などいくつかのテュルク諸語ではラテン文字 "I" ("\x49") の小文字は "i" ("\x69") ではなく点のない "ı" ("\u0131") であるため、それらのロケールにおいてこのメソッドは "I" を点のない "ı" に変換します。
日本語などでは全角大文字 "I" ("\uFF29") および全角小文字 "i" ("\uFF49") が使用されるため、それらのロケールにおいてこのメソッドは全角大文字 "I" を全角小文字 "i" に変換します。その他の多くの言語のロケールにおいては、toLowerCaseメソッドと同じ結果を返します。
JavaScript/String/prototype/toLocaleUpperCase

toLocaleUpperCaseメソッドは現在のロケールに基づいて文字列に含まれる小文字を大文字に変換して返します。多くのロケールにおいて、このメソッドはtoUpperCaseメソッドと同じ結果を返します。逆に現在のロケールに基づいて大文字を小文字に変換するにはtoLocaleLowerCaseメソッドを使用します。
toLocaleUpperCaseメソッドは現在のロケールに基づいて文字列に含まれる小文字を大文字に変換して返します。トルコ語、アゼルバイジャン語、タタール語、クリミア・タタール語などいくつかのテュルク諸語ではラテン文字 "i" ("\x69") の大文字は "I" ("\x49") ではなく点のある "İ" ("\u0130") であるため、それらのロケールにおいてこのメソッドは "i" を点のある "İ" に変換します。
日本語などでは全角小文字 "i" ("\uFF49") および全角大文字 "I" ("\uFF29") が使用されるため、それらのロケールにおいてこのメソッドは全角小文字 "i" を全角大文字 "I" に変換します。その他の多くの言語のロケールにおいては、toUpperCaseメソッドと同じ結果を返します。
Wikijunior:物質/有志編集者

このページには、この本の編集に関わった人の名前がのっています。このページは、勝手に消したり書きかえたりしないでください。もし、あなたも編集に関わったうちのひとりであるならば、ぜひここに名前を加えてください。
編集にご参加いただき、ありがとうございます。新たに名前を書き加える時は最後に記載されている名前の一番下にお願いします。
Wikijunior:人間の体/著作権について

今このページを見ているみなさんは著作権(ちょさくけん)という言葉を知っていますか?一言で説明すると、ほかの人がつくった文章・画像・映像・音楽などの著作物(ちょさくぶつ)を、つくった人の許可を取らずに、ほかの人に見せたり・配ったり・書きかえたりをしてはいけない、という決まりです。これはインターネットで見たり聞いたりすることができる著作物も同じです。たとえば、インターネットにのっていた文章をコピーして、自分のページにのせたりするだけでもにしん害(い反)なってしまうのです(最初に文章を書いた人の許可を取らずに、ほかの人に見せてしまったため)。なので、インターネットを利用するときには十分に注意しましょう。
しかし、このウィキジュニアにある本は、書いた人の許可がすでに取られています。あなたが見るだけでなく、ほかの人に見せることもできますし、ほかのインターネットのページにのせたりすることもできますし、ほかの人にこの本を配ることもできますし、本の中身を書きかえることもできます(これらのことを著作物の再公開(ちょさくぶつのさいこうかい)または著作物の再利用(ちょさくぶつのさいりよう)と言います)。ただし、次のような決まりを守ってください。
ほかにも細かい決まりごとはたくさんありますが、ここでは説明を省きます。どうしても知りたい人は、下の「大人の方たちへ」という部分を大人に読んでもらってください。 ほかのインターネットのページにこの本をコピーしてのせるときには、このページもいっしょにコピーしてのせておくことをおすすめします。そうすれば、自動的にこの決まりをほかの人にも知らせたことにできます。
この本は、クリエイティブ・コモンズ 表示-継承ライセンス 3.0およびGFDLで定められている条件のもとに公開されています。 大体は上記の子ども向けの節で説明した通りですが、以下の点にも留意してください。
刑法第224条

(未成年者略取及び誘拐)
2022年改正により、以下のとおり改正。施行日については未定(2022年10月10日時点)。
本条の保護法益は、学説上以下の対立がある。
この保護法益論の対立は、「監護者が犯罪の主体たりうるか」「監護者の意思のみにより犯罪は成立しうるか」と言う判断において差異が発生する。
刑法第227条

(被略取者引渡し等)
2022年、以下のとおり改正(施行日2025年6月1日)。
4項後段は、例えば「Xが、帰宅途中のAをナイフで脅し、縄で縛って、自宅へ連れ去り、XがAの身体をYに引き渡し、YがAの家族から身の代金を得る目的でその身体の引渡しを受けた場合にYに身の代金目的被略取者収受罪(227条4項前段))が成立する。
刑法第228条の3

(身の代金目的略取等予備)
2022年、以下のとおり改正(施行日2025年6月1日)。
自首に関する一般規定を定めた刑法42条1項は、「捜査機関に発覚する前に」自首することを求めているが、本条ただし書は「実行に着手する前に」とするのみである。したがって、身の代金目的略取等予備罪に及び、捜査機関に発覚した後でも、実行の着手前に自首した場合は刑が必要的に減免される。
刑法第231条

(侮辱)
2022年改正(令和4年法律第67号)により改正。
以下のとおり改正(施行日2025年6月1日)。
2022年7月7日より施行。改正前の条文は以下のとおりで、微罪から自由刑を含む罪に引き上げられた。
刑法第233条

(信用毀損及び業務妨害)
2022年、以下のとおり改正(施行日2025年6月1日)。
本罪の保護法益は、人の経済的な評価である。
「虚偽の風説を流布」とは,虚偽の事項を内容とする噂を,不特定又は多数の者に知れわたるような態様において伝達することをいう。(大判大5.12.18) したがって行為者が虚偽と信じて風説を流布しても、それが客観的事実に合致していた場合は本罪は成立しない。
正規表現

工学 > 情報技術 > プログラミング > 正規表現
正規表現(regular expression)とは、文字列のマッチパターンを表現する方法です。 正規表現を使うと、テキスト・データ・レコード内の特定のパターンにマッチする文字列を探し出して修正することができ、テキスト・データを操作するユーティリティ・プログラムやプログラミング言語でよく使われます。 正規表現は非常に強力です。
しばしば混同されるのですが、シェルなどのワイルドカードとして知られる glob とは異なります。
ここでは特定のプログラミング言語やソフトウェアによらない基本的な正規表現の文法を解説し、個々の文法や具体的なパターンマッチの方法についてはそれぞれの言語やソフトウェアのページに譲ります。
POSIX(Portable Operating System Interface)は、異なるUNIX系システム間で互換性を確保するための標準インターフェースです。POSIX正規表現は、この標準の一部として採用された正規表現の規則です。
基本的なPOSIX正規表現は、基本的なパターンマッチング機能を提供します。文字や文字列のパターンを指定してマッチングを行う際に、特定のメタ文字(.、*、^、$など)を使用します。ただし、特定の拡張機能は提供されません。
一方、POSIX拡張正規表現は、より多くの機能を提供します。例えば、基本正規表現にはない文字クラスや量指定子の拡張が含まれます。この拡張は、より複雑なパターンのマッチングや検索を可能にし、より柔軟な操作ができます。
基本正規表現と拡張正規表現の主な違いは、提供される機能の範囲にあります。基本正規表現は、シンプルなパターンマッチングに使われることが一般的ですが、複雑なマッチングやパターン操作を行う場合は拡張正規表現の利用が推奨されます。
これらは基本的なPOSIX正規表現の一部です。特定の実装や環境によっては、異なる挙動をすることがありますので、詳細はその環境のドキュメントを参照することをお勧めします。
これらのメタ文字は、基本的な正規表現を拡張し、より複雑なパターンのマッチングを可能にします。しかし、環境によってはサポートされない場合があるため、実際の挙動を確認するためにはその環境のドキュメントを参照することが重要です。
正規表現は、コマンドラインツール、プレーンテキストエディタ、プログラミング言語など、さまざまなソフトウェアツールでサポートされています。 これらのツールのほとんどは、Unix、Linux、Windows、Mac OS Xなどの様々なコンピューティングプラットフォームで利用できます。 これらのツールは、それぞれ微妙に異なる構文を採用しています。いくつかの注目すべきものを見てみましょう。
正規表現を使用するツールは以下の通りです。
正規表現は、より大きなテキストセットからサブセットを見つけたり、分離したりする小さなコンピュータプログラムと考えることができます。 通常のコンピュータプログラムがそれを実行するためにコンピュータを必要とするのと同じように、正規表現はそれを解釈し、意味を与えるためのソフトウェア・アプリケーションを必要とします。
PCRE(Perl Compatible Regular Expressions)は、Perlと互換性のある正規表現ライブラリです。これは、Perlの正規表現エンジンを元にして作られ、C言語で実装されています。PCREは、多くのプログラミング言語やツールで利用できるようになっており、さまざまな環境で正規表現を利用する際の基盤として広く採用されています。
PCREは、POSIX正規表現と比べて機能が豊富で、Perlとの互換性を持っているため、より複雑なパターンマッチングや文字列操作が可能です。文字クラス、量指定子、キャプチャなど、様々な拡張機能が含まれており、高度なパターンマッチングを実現します。
このライブラリは、C言語をベースにしているため、C言語を使用するプログラムだけでなく、Python、PHP、JavaScriptなどの多くのプログラミング言語でもPCREの機能を利用することができます。 PCREは、柔軟性とパワフルな機能を提供することから、広く使われています。
PCRE(Perl Compatible Regular Expressions)は、バージョン1(PCRE1)とバージョン2(PCRE2)の2つのメジャーバージョンがあります。 PCRE1は初期のバージョンであり、多くのシステムで広く利用されています。これはPerlとの互換性を重視し、多くの機能を提供していますが、いくつかの制約や改善の余地がありました。 PCRE2は、PCRE1の改良版であり、より多くの新機能や改善が追加されています。PCRE2では、性能の向上、メモリ効率の改善、新しい機能の追加などが行われています。UTF-16/UTF-32サポート、改良されたバックトラックエンジン、より大規模なパターンのサポートなどがその特徴です。 PCRE2は、より最新の機能やパフォーマンスを求める場合に選択されることがありますが、PCRE1はまだ多くのシステムやプロジェクトで使用されています。選択肢は使用環境やニーズによって異なりますが、PCRE2はPCRE1の機能拡張版として、多くの点で改良されています。
PCRE以外にも多くの正規表現エンジンが存在します。それらは、さまざまなプログラミング言語や環境で使用されています。いくつかの代表的な正規表現エンジンを以下に挙げます:
これらの正規表現エンジンは、それぞれ言語や環境に組み込まれており、その特性や機能、使いやすさが異なる場合があります。特定のニーズや使用する言語に応じて、適切な正規表現エンジンを選択することが重要です。
C言語で正規表現を使うためには、通常、regex.hヘッダーファイルを使用し、正規表現ライブラリ関連の関数を利用します。
以下は、簡単な正規表現を使った文字列のマッチングの例です。
この例では、regcomp()で正規表現をコンパイルし、regexec()で文字列をマッチングしています。regcomp()やregexec()はエラーチェックが重要です。regfree()を使用して最後にメモリを解放することも重要です。 正規表現のパターンやマッチング対象の文字列を変更することで、別のマッチングを試すことができます。また、正規表現のオプションを変更することで、マッチングの挙動を制御することも可能です。
刑法第238条

(事後強盗)
「窃盗」には窃盗未遂犯も含まれ、事後強盗未遂罪とは窃盗が未遂に終わった場合をいう(窃盗が既遂で暴行・脅迫が未遂の場合を含むとする説もある)。ドイツの強盗的窃盗罪において窃盗が既遂の場合しか処罰されないのに日本の事後強盗罪において窃盗が未遂の場合にも処罰される理由は、ドイツの場合窃取した目的物の占有を保持するための暴行・脅迫を処罰する趣旨で強盗的窃盗罪が規定されているのに対して、日本の場合それだけでなく「逮捕を免れ、又は罪跡を隠滅するため」の暴行・脅迫を処罰する趣旨で事後強盗罪が規定されているからである。
刑法第241条

(強盗・不同意性交等及び同致死)
2023年改正により、「強制性交等の罪」が「不同意性交等の罪」に改正されたことに伴い、第1項を以下の条項から改正
2022年、以下のとおり改正(施行日2025年6月1日)。
「強姦罪」が「強制性交等罪」に改正されたことに伴い、以下の条項から改正。被害者の性別が問われなくなった他、中止犯の必要的減刑等を定めた。
(強盗強姦及び同致死)
Wikijunior:タイトルの付け方

このページは、ウィキジュニアに関する、基本的な指針を示したものです。変更が望まれる事項・追加が望まれる事項などの意見に関しては、随時ノートで受け付けています。利用者はこのほかにウィキブックスの基本方針とガイドラインにも従うことが推奨されています。

(これはあくまで仮の指針です。一部、ウィキブックスの方針からの抜粋です。ノートで意見を受け付けています。)
ウィキジュニアは、他のウィキプロジェクトと比べて対象年齢層の低いプロジェクトです。内容についてももちろんですが、タイトルについてもある程度の配慮が必要となるでしょう。次のようなことが好ましいと思われます。
そのほか、下記の「注意事項」もお読みください。 本および記事の内容に関する指針は、「Wikijunior:ウィキジュニアについて」をご覧ください。
新しい本を制作するに当たって、上記の「タイトルの付け方について」および、下記の「注意事項」もお読みください。
(これはあくまで仮の指針です。一部、ウィキブックスの方針からの抜粋です。ノートで意見を受け付けています。)
本を制作する上で、下記のようなことにも注意しなくてはなりません。
Wikijunior:ウィキジュニアについて

このページは、ウィキジュニアに関する、基本的な指針(英語版を翻訳し、漢字に関する記述を加筆)を示したものです。変更が望まれる事項・追加が望まれる事項などの意見に関しては、随時ノートで受け付けています。利用者はこのほかにウィキブックスの基本方針とガイドラインにも従うことが推奨されています。
ウィキジュニアは小学生以下の子どもたちの為に、ノンフィクションの書籍を制作するプロジェクトです。これにより制作される書籍の形式は「百科事典」、「教科書」、「入門書」などが考えられます。書籍の制作は、世界中のボランティアの手によって行われます。そのとき、以下のような指針を守ることが推奨されています。
もし仮に、上記が守られていない書籍または記事を発見した場合は、「ページの編集は大胆に」の原則に従い、修正を行ってください。
現在、このウィキジュニアは、ウィキブックスの一部を間借りするような形を取っており、世界中で徐々に完成した書籍も増加している状況です。将来的には、ウィキジュニアが独立したプロジェクトとして立ち上がり、完全版に移行していくかも知れません。しかし、完成版に移行した後も、ウィキブックスに変更が加えられるごとにウィキジュニアも随時更新されていくというように、両プロジェクトの関わりは深く保たれることでしょう。
プロジェクトの対象年齢を考えると、少なくとも中学生以上で学習する漢字は使用しない(あるいは、なるべく読み仮名を括弧書きで解説する)のが好ましいでしょう。特に低年齢向けの書籍を制作する場合は、更に注意してください。ウィキペディアの常用漢字一覧という記事が参考になるはずです。
現在、ウィキジュニアは、ウィキメディア財団およびウィキブックスの一部分として機能しており、原則や方針もそれらのものに同調しています。また、それに加えてウィキジュニア独自の指針(上述)というものも存在しています。もし仮に、ウィキジュニアの指針とウィキブックスの方針が異なる見解を示している場合は、原則としてウィキジュニアの指針のほうが優先されます。例えば、互いのプロジェクトの中で百科事典のようなものをそれぞれ執筆しようとした場合、ウィキジュニアでは推奨されている表現のしかた(大人向きではない表現、面白おかしい表現など)が、ウィキブックスでは許容されない可能性があるのです。利用の際は、このような方針の違いについて充分に注意してください。
Wikijunior:物質/原子と分子

原子(げんし)とは、物質(元素)を構成しているものの中で、もっとも小さな単位となるもののことです。その中身は、原子かく(原子核、げんしかく)というプラスの電気を帯びたつぶと、そのまわりを飛び回る電子(でんし)(マイナスの電気のつぶ)によってできています。原子1つの大きさはとても小さく、特別なけんび鏡でないと人間の目で見ることはできません。
物質は、基本的には、この原子かくのプラスの電気と、電子のマイナスの電気がつり合うようにできています。しかし、たまに電子の数が多くなりすぎたり、逆に少なくなりすぎたりして、電気的につりあわなくなってしまった原子も生まれます。このようなものをイオンと言います。ちなみに、電子が多くなりマイナスの電気が強くなったものは陰イオン(いんいおん)*、電子が少なくなりプラスの電気が強くなったものは陽イオン(よういおん)と言います。
物質の種類のちがいは、原子かくの大きさや電子の数のちがいによって生まれます。同じ量でも、重量が重い物質と、軽い物質があるのは、この原子かくの大きさや電子の数が異なるからなのです(原子かくが大きく、電子の数が多いものほど重い物質になります)。この原子1つの重さのことを原子量(げんしりょう)と言います。
分子(ぶんし)とは、この原子の集まりのことです。たとえば、
このように、原子どうしを結びつけることによって、さまざまな分子・物質をつくることができます。
刑法第256条

(盗品譲受け等)
2022年、以下のとおり改正(施行日2025年6月1日)。
平たく言えば、1項は盗品をただで貰うこと、2項前段は盗品の運搬、保管、購入について、後段は盗品を買ってくれる人を探す行為を処罰する規定である。
HTML/HTML5

MediaWiki編集におけるhtml5対応については w:Help:ウィキテキストにおけるHTML を参照。 HTML5(エイチティーエムエルファイブ)とは、HTML 4.01の後継としてW3Cにより2014年に勧告された規格である。
人が見てもコンピュータが見ても解読しやすい構造とするため、デザインに関係する部分はスタイルシートに記述し、要素や属性でデザインを指定することはしないという姿勢がより徹底された。そのためfont要素やcenter要素などいくつかの要素が廃止され、table要素におけるwidth属性やalign属性なども廃止された。HTML4.01で非推奨であったb要素やu要素などは復活している(非推奨が外された)が、要素の意味づけが変更されている。header, main, section, article, nav, aside, footerなどセクショニング要素が新たに追加され、文書構造をより簡潔に記述できるようになった。
マルチメディアへの対応も目的の一つであり、audio, video, embedなどの要素が追加された。

DOCTYPE宣言は、ドキュメントの種類を宣言します。HTML4では、この要素内で「!DOCTYPE html」以降にDTDによるスキーマが参照する仕様でした。しかしHTML5では <!DOCTYPE html> だけにするように決まりました。

audio要素はオーディオを再生、video要素は動画を再生する。embed要素やobject要素による埋め込みと異なり、この方法ではプラグインを介さずブラウザの機能で直接マルチメディアの再生を行うことが出来る。ただし、ブラウザにより対応フォーマットは異なる。

canvas要素はダイナミックなビットマップ(ベクター)画像を描画する。二次元コンピュータグラフィックスはCanvas APIにより実現され、ハードウェアアクセラレーションされた二次元及び三次元コンピュータグラフィックスはWebGLを用いて実現される。
JavaScriptを使用するとcanvasに画像を描くことができる。
JavaScriptは下記のようにcanvas要素と組み合わせて使用できます。
なお、上記のコードは、実行するとブラウザ画面に青い長方形を描きます。
では色指定を行っています。0〜255の範囲で赤・緑・青の色見をそれぞれ指定しています。
の書式は、上記htmlコード例の設定なら、
です。(第3引数と第4引数は、終点の座標位置ではないので、混同しないように注意しましょう。)
[TODO:この例では、setInterval()を使って render() を(進捗によらず)キックしていますが、requestAnimationFrame()を使って書き直すべきです]
アニメーション処理などをしたい場合、円や四角などの簡単な図形を動かすだけなら、JavaScriptと要素を連携させれば、ウェブブラウザで簡単な図形がアニメーションする動画を表示させられる。
詳しい解説は、たとえばモジラ公式サイト"Basic animations" などにある。もしかしたらブラウザの種類によって挙動が変わるかもしれないので、実用の際には都度、実機で確認のこと。
下記のコード中にあるsetInterval の書式と内容は
である。
HTML4.01にあった要素と属性が、HTML5ではいくつか廃止されました。
HTML5では、タイプフェース・グリフ・斜体などのスタイル・色や各種描線などの物理修飾を意味する要素が廃止されました。 廃止された機能は、スタイル シートやスクリプトなどを使って、ドキュメント構造の外で定義することになります。

HTML5では、いくつかの要素に対する属性が廃止されました。
[TODO: detail要素や、a要素のdownload属性の様なHTML5で追加された属性]
ヘッダー(ページ上部に表示される部分・rtlの場合はページの右)を構成する文章要素。
footer要素はフッタ(ページ下部に表示される部分・rtlの場合はページの左)を構成する文章要素。
コラムやサイドバーなど、主要なテーマを構成しなし文章要素。
主要な文章要素。
その内容だけで独立できる内容
複数の記事で構成されるところに使う。
nav要素は、他のページやページ内の一部にリンクする、ナビゲーションリンクを持つセクションを表します。
図表。
figure要素のキャプション。
nav要素は、その項目が目次や索引であることを知らせる。
パンくずリストを作るために用いることができる。
JavaScript/XMLHttpRequest

XMLHttpRequest (XHR) とは、ウェブサーバと通信を行うためのJavaScriptのオブジェクトです。
Ajax/XMLHttpRequestは、古くから使われている技術ですが、すでにAjax/XMLHttpRequestの欠点や問題点を解消した fetch API がモダンブラウザに実装されているので、新しく覚えるあるいは新規にコードを起こす場合は、Ajax/XMLHttpRequestではなく、 fetch APIを使うべきです。
fetch APIを使うと、下記のようなawait async promiseを使って非同期な並行・並列処理をメソッドチェインで簡素に表現できます。
CGIなどの仕組みを使ってサーバからデータを取得するにはウェブページを遷移する必要がありますが、XMLHttpRequestを用いるとページの遷移なしに、動的かつ非同期にデータを取得することができます。このような技術はAjax (asynchronous JavaScript and XML) と呼ばれます。Ajaxを駆使するとJavaScriptを用いてGoogle マップのようなインタラクティブなウェブアプリケーションを構築することができます。
XMLHttpRequestはその名に反してXMLドキュメントでないデータもやり取りすることができます。また、HTTP以外にFTP通信も行うことができます(ローカルホストではローカルファイルも取得可能)。ただし、XMLHttpRequestを用いて通信できるのは同じドメインのサーバに限られるため、外部のサーバと通信をすることはできません。これを同一生成元ポリシー(どういつせいせいもとポリシー、same origin policy)といいます。
JavaScript/decodeURIComponent

decodeURIComponentはURLエンコードされた文字列を復号して返します。
decodeURIComponentメソッドはencodeURIComponentメソッドなどを用いて符号化されたURIを人間の読める形式に復号するために用いられます。
正しくURIエンコードされていない文字列が渡されると URIError ("malformed URI sequence") 例外が発生します。
速算術

計算機が発達した現代においても、暗算の重要性は変わらない。これは、暗算を高速に行うためのテクニック、速算術についての教科書である。
桁区切り
通常の記法との関係
二乗
特殊な二乗
ここでは、桁区切り記号 | を用いた、通常の位取り記数法とは少し異なる記数法を用いる。まずはこの意味について述べる。
2 桁の数と 2 桁の数が桁区切り記号で区切られている場合は、桁区切り記号を省略してそのまま並べた数として読む。
左側が 1 桁の場合も同様である。
右側が 1 桁の場合、0 を補って読む。
通常の記数法と似た記数法なので、計算はそれぞれの区切りの中で行うことができる。
区切りが 2 桁の場合、計算の途中で 3 桁目以上が生じたときは桁上がりする。
ただし次のような例には注意が必要である。
上述した例と同じように、10000 かそれ以上の大きさの数について、区切りを増やすことで対応することができる。
区切りが 3 つ以上になる場合についても同様である。
上記の記法は通常の記法と以下のような対応がある。
より一般的にそれぞれの桁にかかる数を a , b {\displaystyle a,b} とすれば上記の関係は以下の形に集約される。
区切りが複数重なる場合についても同様で
という風に書き換えることができる。この例から明らかなように、通常の計算で間違えることはまずないが、連続する区切り記号の解釈については以下の規約がある。
言い換えると、桁区切りの展開は最上位の桁から最下位の桁へ順番に行う必要がある。
加算および減算については以下の関係が成り立つ。
乗算については以下の関係が成り立つ。
まず、数の2乗を簡単に計算するためのテクニックを述べる。
100に近い数の2乗は次のようにして簡単に計算できる。
2 乗したい数を x {\displaystyle x} とする。展開・因数分解の公式
に a = x , b = 100 − x {\displaystyle a=x,\,b=100-x} を代入すると、
これを桁区切りの記数法で表したのが、上で述べた計算法である。桁区切りを用いた場合、上記の計算は次のように表される。
大阪弁/禁止

「~せんといて」の形で「~しないで」の意味を作る。
後ろに「な」、「や」をつけることも出来る。
動詞を次のような形にすることにより禁止命令を表す。
共通語と同じ。
最後に「や」をつけることもできる。
終止形よりも柔らかい表現。
最後に「や」をつけることもできる。
連用形+「~なさんな」の形で使用する。
最後に「や」をつけることもできる。
大阪弁/～したる

「~したる」の形で「~してあげる」、「~してやる」の意味を表す。
後ろに「わ」、「で」、「ねん」などをつけることもできる。
「~したって」は「~してあげて」の意味となり、当然第三者に対し「~したって」は使えるが、話し手に対し「~したって」を使うこともある。
Lojban For Beginners 日本語訳

Lojban For Beginners(英語版) — velcli befi la lojban. bei loi co'a cilre
リンク先の本文で説明してある単語を併記してあります。
bridi を「文」と説明している箇所がありますが正しくは「命題」ですので注意してください。
JavaScript/String/prototype/replace

replaceメソッドは文字列を指定されたパターンにしたがって置換し、新しい文字列を返します。
文字列stringに含まれる部分文字列oldString(または正規表現regexpにマッチした部分)を、文字列newString(または関数callbackの戻り値)で置き換えます。第3引数flagsはSpiderMonkeyの独自拡張で他の多くの処理系には実装されていません。
replaceメソッドはもとの文字列を変更せずに置換した文字列を返します。必ず返された文字列replacedStringを受け取ってください。string = string.replace(oldString, newString)のようにreplaceメソッドの戻り値をもとの文字列stringに代入すると、string自身を変更することができます。
どの部分を置き換えるかは文字列または正規表現のパターンによって指定し、何に置き換えるかは文字列または関数の戻り値によって決定されます。第2引数に関数を渡すのは、ちょうどPerlのs///eeと等価ですが、Safariの一部のバージョンではサポートされていません。
第3引数には正規表現のフラグを渡すことができますが、Mozilla以外のほとんどの処理系ではサポートされていません。第1引数に
を使用することができます。詳しくはRegExpオブジェクトを参照してください。