Skip to content

Commit

Permalink
Merge branch 'master' into aiscript-next
Browse files Browse the repository at this point in the history
  • Loading branch information
marihachi authored Dec 30, 2023
2 parents d4dcb30 + bb89d13 commit a26576a
Show file tree
Hide file tree
Showing 14 changed files with 378 additions and 147 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Daily Publication of branch master
name: Publish nightly (dev)

on:
schedule:
- cron: '0 4 * * *'
- cron: '50 18 * * *'
workflow_dispatch:

jobs:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Daily Publication of branch aiscript-next
name: Publish nightly (next)

on:
schedule:
- cron: '0 4 * * *'
- cron: '50 18 * * *'
workflow_dispatch:

jobs:
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
- `Error:create`関数でエラー型の値を生成できるように
- `Obj:merge`で2つのオブジェクトの併合を得られるように
- Fix: チェイン系(インデックスアクセス`[]`、プロパティアクセス`.`、関数呼び出し`()`)と括弧を組み合わせた時に不正な挙動をするバグを修正
- 関数`Str#charcode_at` `Str#to_arr` `Str#to_char_arr` `Str#to_charcode_arr` `Str#to_utf8_byte_arr` `Str#to_unicode_codepoint_arr` `Str:from_unicode_codepoints` `Str:from_utf8_bytes`を追加
- Fix: `Str#codepoint_at`がサロゲートペアに対応していないのを修正
- 配列の範囲外および非整数のインデックスへの代入でエラーを出すように
## Note
バージョン0.16.0に記録漏れがありました。
>- 関数`Str:from_codepoint` `Str#codepoint_at`を追加
Expand Down
10 changes: 10 additions & 0 deletions docs/contribution/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## PRマージ時の規則
以降の規則は[member](https://github.com/orgs/aiscript-dev/people)が何をしてよいか明示するものであり、何かを禁止するものではありません。(禁止のための条項が必要になれば別に作ります)
- バグ修正、ドキュメントの編集、dependabotのPRはmember1人の判断でマージしてよい。
- ソースコード及びテストの変更は、
- 非破壊的変更であればmember2人以上の同意&1日の経過を待ち、非memberを含む反対者が同意者の半数以下ならマージしてよい
- 破壊的変更であればmember3人以上の同意&1日の経過を待ち、非memberを含む反対者が同意者の4分の1以下ならマージしてよい
- ソースコード・テスト以外の変更はmember1人以上の同意&1日の経過を待ち、非memberを含む反対者が同意者の半数以下ならマージしてよい
- リポジトリの所有者(@syuilo)の同意がある場合、以上の規則によらずにマージしてもよい
- 大前提としてすべてのマージはCI Checkを通過し、全てのreviewにPR主から何らかの返答がある必要がある
- 後でrevertになっても泣かない
33 changes: 32 additions & 1 deletion docs/primitive-props.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,30 @@ Core:range(0,2).push(4) //[0,1,2,4]
### @(_v_: str).to_num(): num | null
文字列が数字であれば、数値に変換します。

### @(_v_: str).to_arr(): `arr<str>`
文字列を書記素クラスタ毎に区切り、配列にしたものを返します。
文字列に孤立サロゲートが含まれない場合、孤立サロゲートを返すことはありません。

### @(_v_: str).to_unicode_arr(): `arr<str>`
文字列を Unicode コードポイント毎に区切り、配列にしたものを返します。
書記素クラスタは分割されます。
文字列に孤立サロゲートが含まれない場合、孤立サロゲートを返すことはありません。

### @(_v_: str).to_unicode_codepoint_arr(): `arr<num>`
文字列を Unicode コードポイント毎に区切り、それぞれ[コードポイント](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt)値を取得し配列にしたものを返します。
文字列に孤立サロゲートが含まれない場合、孤立サロゲートを返すことはありません。

### @(_v_: str).to_char_arr(): `arr<str>`
文字列を UTF-16 コード単位毎に区切り、配列にしたものを返します。
文字列にサロゲートペアが含まれる場合、上位と下位それぞれ孤立サロゲートを返します。

### @(_v_: str).to_charcode_arr(): `arr<num>`
文字列を UTF-16 コード単位毎に区切り、それぞれ[UTF-16 コード単位を表す `0` から `65535` までの整数](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt)を取得し配列にしたものを返します。
文字列にサロゲートペアが含まれる場合、上位と下位それぞれ孤立サロゲートを返します。

### @(_v_: str).to_utf8_byte_arr(): `arr<num>`
文字列を UTF-8 エンコードし、各バイト毎の `0` から `255` までの整数値を取得し配列にしたものを返します。

### @(_v_: str).pick(_i_: num): str | null
文字列中の _i_ 番目の文字を取得します。

Expand Down Expand Up @@ -60,11 +84,18 @@ _splitter_ が与えられなければ一文字づつ区切ります。
### @(_v_: str).lower(): str
文字列中の英字を小文字に変換して返します。

### @(_v_: str).charcode_at(_i_: num): num | null
_i_ 番目のにある [UTF-16 コード単位を表す `0` から `65535` までの整数](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt)を返します。
インデックスは UTF-16 コード単位に基づきます。
文字列にサロゲートペアが含まれる場合、位置によって上位または下位の孤立サロゲートを返すことがあります。
_i_ 番目の文字が存在しない場合は null が返されます。

### @(_v_: str).codepoint_at(_i_: num): num | null
_i_ 番目の文字の[コードポイント](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt)を取得します。
インデックスは UTF-16 コード単位に基づきます。
文字列にサロゲートペアが含まれ、指定位置が下位のサロゲートである場合、下位の孤立サロゲートを返します。
_i_ 番目の文字が存在しない場合は null が返されます。


## 配列
### #(_v_: arr).len
型: `num`
Expand Down
10 changes: 9 additions & 1 deletion docs/std.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,18 @@ a > b ならば -1、a == b ならば 0、a < b ならば 1 を返します。
arr.sortの比較関数として使用できます。

### #Str:from_codepoint(codepoint: num): str
unicodeのコードポイントから文字を生成します
Unicodeのコードポイントから文字を生成します

_codepoint_ は 0 以上、10FFFF<sub>16</sub> 以下である必要があります。

### #Str:from_unicode_codepoints(_codePoints_: `arr<num>`): str
Unicodeのコードポイント列を表す数値の配列から文字を生成します。
_codePoints_の各要素は 0 以上、10FFFF<sub>16</sub> 以下である必要があります。

### #Str:from_utf8_bytes(_bytes_: `arr<num>`): str
UTF-8のバイト列を表す数値の配列から文字を生成します。
_bytes_の各要素は 0 以上、255 以下である必要があります。

## :: Obj
### @Obj:keys(_v_: obj): arr
### @Obj:vals(_v_: obj): arr
Expand Down
Loading

0 comments on commit a26576a

Please sign in to comment.