jagram(ジャグラム)とは、JApanese proGRAMming Languageの略で、 日本語でかけるプログラミング言語を目指して作ったものです。 日本におけるプログラミングの教育の場などで、使われたらと思い作成しました。
また、rubyのDSLを使って作成しているため、既存のrubyコードと共存できたり、 jagramでロジックがわかるようになったら、rubyに移行するのような使い方ができます。
Gemファイルを使っている場合は、gemにjagramを指定
gem 'jagram'
そして、次を実行
$ bundle install
あるいは、直接jagramをインストール
$ gem install jagram
require 'jagram'
でjagramが使えるようになります。
require 'jagram'
i = 0
次の条件が成り立つ間( -> { i <= 5} ) do
次を表示する(i) #> 0,1,2,3,4,5
i += 1
end
i = 0
結果 = ""
次の条件が成り立つ間(-> {i <= 5}) {
結果 += i.を文字に変換
i += 1
}
次を表示する(結果) #> 012345
require 'jagram'
i = 0
次を繰り返す {
もし(i.は, 0, ならば) do
繰り返しから抜ける
end
次を表示する(i) #> 0,1,2,3,4,5
i += 1
}
i = 0
次を繰り返す do
もし(i.は, 0, ならば) do
繰り返しから抜ける
end
次を表示する(i) #> 0,1,2,3,4,5
i += 1
end
require 'jagram'
結果 = ""
1.から(4, まで繰り返す) do |i|
結果 += i.を文字に変換
end
次を表示(結果) #> 1234
結果 = ""
4.から(1, まで繰り返す) do |i|
結果 += i.を文字に変換
end
次を表示(結果) #> 4321
require 'jagram'
3.回繰り返す do |i|
次を表示("#{i}回目のこんにちは") #> 1回目のこんにちは, 2回目のこんにちは, 3回目のこんにちは
end
require 'jagram'
挨拶の配列 = ["こ", "ん", "に", "ち", "は"]
挨拶の配列.のそれぞれの要素に対して do |要素|
次を表示(要素) #> こ ん に ち は
end
require 'jagram'
太郎君の挨拶 = "hello"
英語の挨拶 = "hello"
もし(太郎君の挨拶.は次と等しい(英語の挨拶), ならば) {
次を表示("太郎君は英語がわかるのかもしれない")
}
もし(太郎君の挨拶 == 英語の挨拶, ならば) {
次を表示("太郎君は英語がわかるのかもしれない")
}
## 大きい場合
require 'jagram'
太郎君の体重 = 60
花子さんの体重 = 120
もし(花子さんの体重.は次の値以上(太郎君の体重), ならば) {
次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}
もし(花子さんの体重 >= 太郎君の体重, ならば) {
次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}
もし(花子さんの体重.は次の値より大きい(太郎君の体重), ならば) {
次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}
もし(花子さんの体重 > 太郎君の体重, ならば) {
次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}
## 小さい場合
太郎君の体重 = 60
花子さんの体重 = 120
もし(太郎君の体重.は次の値以下(花子さんの体重), ならば) {
次を表示("太郎君は花子さんより軽い") #> 太郎君は花子さんより軽い
}
もし(太郎君の体重 <= 花子さんの体重, ならば) {
次を表示("太郎君は花子さんより軽い") #> 太郎君は花子さんより軽い
}
もし(太郎君の体重.は次の値より小さい(花子さんの体重), ならば) {
次を表示("太郎君は花子さんより軽い") #> 太郎君は花子さんより軽い
}
もし(太郎君の体重 < 花子さんの体重, ならば) {
次を表示("太郎君は花子さんより軽い") #> 太郎君は花子さんより軽い
}
require 'jagram'
関数 :挨拶する, を定義する, -> (挨拶) {
次を表示(挨拶)
}
挨拶する("こんにちは") #> こんにちは
挨拶する("hello") #> hello
関数 :国に応じた挨拶, を定義する, -> (国) {
使った挨拶 = ""
もし(国 == "アメリカ", ならば) {
次を表示("Hello")
使った挨拶 = "Hello"
}
もし(国 == "日本", ならば) {
次を表示("こんにちは")
使った挨拶 = "こんにちは"
}
もし(国 == "中国", ならば) {
次を表示("ニイハオ")
使った挨拶 = "ニイハオ"
}
使った挨拶
}
国に応じた挨拶("アメリカ") #> Hello
国に応じた挨拶("日本") #> こんにちは
国に応じた挨拶("ニイハオ") #> ニイハオ
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/jagram. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
The gem is available as open source under the terms of the MIT License.
Everyone interacting in the Jagram project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.