Skip to content

iyuuya/jkf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d695b6f · Jul 21, 2023
Jun 18, 2023
Jun 19, 2023
Jul 21, 2023
Jul 21, 2023
Jul 21, 2023
Feb 9, 2016
Feb 23, 2016
Feb 9, 2016
Jul 21, 2023
Jun 19, 2023
Jul 21, 2023
Jul 21, 2023
Jul 21, 2023
Jun 19, 2023
Feb 9, 2016
Jul 21, 2023
Jul 21, 2023
Jun 19, 2023
Jul 21, 2023
Jul 21, 2023
Jul 21, 2023
Jun 18, 2023

Repository files navigation

jkf gem

Gem Version Build Status CI

jkf gemはJSON棋譜フォーマット (JKF)をRubyに移植したものです。 柿木形式(棋譜ファイル KIF 形式、KI2)、CSA標準棋譜ファイル形式の構文解析とJKFへの変換、JKFからKIF, KI2, CSAへの変換に対応しています。

インストール

アプリケーションにインストールする場合(Bundlerを使用する場合)、Gemfileに以下のように記述してください。

gem 'jkf'

さらにbundleコマンドを実行することでインストールできます。

または、gem installコマンドを使って直接インストールもできます。

使い方

KIF, KI2, CSAそれぞれ構文解析器 {Jkf::Parser} と変換器 {Jkf::Converter} が用意してあります。

kif_parser = Jkf::Parser::Kif.new
ki2_parser = Jkf::Parser::Ki2.new
csa_parser = Jkf::Parser::Csa.new
kif_converter = Jkf::Converter::Kif.new
ki2_converter = Jkf::Converter::Ki2.new
csa_converter = Jkf::Converter::Csa.new

{Jkf::Parser::Base#parse} でJKFへの変換、 {Jkf::Converter::Base#convert} でJKFから各形式へ変換できます。

jkf = kif_parser.parse(kif_str) #=> Hash
jkf = ki2_parser.parse(ki2_str) #=> Hash
jkf = csa_parser.parse(csa_str) #=> Hash
kif = kif_converter.convert(jkf) #=> String
ki2 = ki2_converter.convert(jkf) #=> String
csa = csa_converter.convert(jkf) #=> String

貢献

バグレポートやプルリクエストはGitHubのリポジトリでよろしくお願いします。

Guixで開発されている場合はguix shellrake testによるテスト実行ができます。

利用許諾

ライセンスはMIT Licenseです。