Potential form
This commit is contained in:
parent
2c0e22d0b0
commit
3e3463593e
22
lib/verb.rb
22
lib/verb.rb
@ -40,13 +40,13 @@ class KanaKanji
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Verb
|
class Verb
|
||||||
attr_reader :dict_kanji, :dict_kana, :definition_english, :dict
|
attr_reader :dict_kanji, :dict_kana, :definition, :dict
|
||||||
|
|
||||||
def initialize(dict_kanji, dict_kana, definition_english)
|
def initialize(dict_kanji, dict_kana, definition)
|
||||||
@dict_kanji = dict_kanji || dict_kana
|
@dict_kanji = dict_kanji || dict_kana
|
||||||
@dict_kana = dict_kana
|
@dict_kana = dict_kana
|
||||||
@dict = KanaKanji.new dict_kana, dict_kanji
|
@dict = KanaKanji.new dict_kana, dict_kanji
|
||||||
@definition_english = definition_english
|
@definition = definition
|
||||||
end
|
end
|
||||||
|
|
||||||
def last_character(new_form=nil)
|
def last_character(new_form=nil)
|
||||||
@ -96,6 +96,10 @@ class Verb
|
|||||||
def desire
|
def desire
|
||||||
stem + "たい"
|
stem + "たい"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def potential
|
||||||
|
IchidanVerb.new(potential_starter.kanji, potential_starter.kana, "to be able #{definition}")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class IchidanVerb < Verb
|
class IchidanVerb < Verb
|
||||||
@ -110,6 +114,10 @@ class IchidanVerb < Verb
|
|||||||
def te
|
def te
|
||||||
all_but_last_character + "て"
|
all_but_last_character + "て"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def potential_starter
|
||||||
|
stem + "られる"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class GodanVerb < Verb
|
class GodanVerb < Verb
|
||||||
@ -125,6 +133,10 @@ class GodanVerb < Verb
|
|||||||
all_but_last_character + last_character("a") + "ない"
|
all_but_last_character + last_character("a") + "ない"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def potential_starter
|
||||||
|
all_but_last_character + last_character("e") + "る"
|
||||||
|
end
|
||||||
|
|
||||||
def te
|
def te
|
||||||
all_but_last_character + case last_character
|
all_but_last_character + case last_character
|
||||||
when "う"
|
when "う"
|
||||||
@ -165,5 +177,9 @@ class SuruVerb < Verb
|
|||||||
def te
|
def te
|
||||||
prefix + "して"
|
prefix + "して"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def potential_starter
|
||||||
|
prefix + "できる"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -138,4 +138,15 @@ class TestVerb < Minitest::Test
|
|||||||
assert_equal "勉強したい", @benkyousuru.desire.kanji
|
assert_equal "勉強したい", @benkyousuru.desire.kanji
|
||||||
assert_equal "べんきょうしたい", @benkyousuru.desire.kana
|
assert_equal "べんきょうしたい", @benkyousuru.desire.kana
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_potential
|
||||||
|
assert_equal "見られる", @miru.potential.dictionary.kanji
|
||||||
|
assert_equal "みられる", @miru.potential.dictionary.kana
|
||||||
|
assert_equal "飲める", @nomu.potential.dictionary.kanji
|
||||||
|
assert_equal "のめる", @nomu.potential.dictionary.kana
|
||||||
|
assert_equal "できる", @suru.potential.dictionary.kanji
|
||||||
|
assert_equal "できる", @suru.potential.dictionary.kana
|
||||||
|
assert_equal "勉強できる", @benkyousuru.potential.dictionary.kanji
|
||||||
|
assert_equal "べんきょうできる", @benkyousuru.potential.dictionary.kana
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user