ユーザ用ツール

サイト用ツール


update:2_0_fc

概要

変更点(主に1から2への変更)


  • 1個目:乗算の計算の順番が変更になった。
  • MS1は前から乗算していくんだけど、他の言語は後ろから順番に積み上げていく方式とのこと。
  • よって、それに合わせる形で後ろから(右側の数値から)乗算していく形式に変更された。

  • 2個目:数値リテラルの点構文
  • つまり「4.foo」「3.14.foo」みたいな書き方を許すとのこと。


  • 4個目:関数式
  • end function outerってキーワードが追加されたみたいだけど、関数への参照を得るみたい。どういう効果かは具体的には不明。

  • 5個目:mapの反復順序
  • MiniScriptの仕様としてmapは順序が定義されていない。ただ、C#はDictionaryクラスを利用している関係上挿入時にキーを返していたため、C++版も同じようにするとのこと。

  • 6番目:文字列のインデックス付け
  • どうもC#版とC++版ではインデックス付の方法が異なっていた(C++がUTF-8、C#がUTF-16)ため、それが統一されたということみたい。

  • 7番目:エラー型の追加
  • ランタイムエラーの出力を特定の型で受け取ることができる。これはだいぶ助かるのではと思った。今までは数値型で確認するとかだったし。

  • 8番目:プロパティセッター
  • 主にクラスを使うときに影響するみたいで、変数アクセスの際にアクセスできるメソッドを選定できる感じ、かなあ。
  • ちょっと使ってみないとわからない。
  • あとパフォーマンスにも影響があるので使い込む場合影響ありそう。

  • 最後にキーワード情報
  • info(x):フリーズ済みの値を返す(3番目)
  • funcRef:無名関数lambdaみたいな使い方になりそう(4番目)
  • listの内部の処理方法が変わったみたい。ちょっと内容わからんので調べてみる
  • mapにfrozenというプロパティが追加された(3番目)
  • errorにmessage/inner/stack/isaプロパティが追加された。(7番目)

軽く利用してみた

  • 超遅いフィボナッチ関数について起動してみたところ・・・まったく返ってこない内容が60秒で返ってきた!w
  • 今までの文法は基本的に使えるのと、全体的に高速化されているのでかなり快適になっていると思う。
  • とはいうもののやはり遅いケースは存在するのでそういうのは避ける必要がある。
  • 個人的にはエラー型が存在するのとフリーズ変数の存在が大きいかなあと思った。
update/2_0_fc.txt · 最終更新: 2026/09/23 13:50 by machiaworx