Mnemosyne是一个开源的卡片记忆软件。 我用它背单词,非常好用。
它可以用来记忆任何东西,对自己记忆力没有自信的朋友可以试试:http://www.mnemosyne-proj.org/
不过这种软件使用的时候,卡片都要自己做。 怕麻烦的就绕路了,不过我认为在制作卡片的同时就是学习。
我写这个程序是因为我懒得把音标打进去,打音标很麻烦,当然单词和解释都是我一个一个敲进去的。
require "net/http" require "uri" def usage puts "Usage Guide:" puts "/truby #{File.basename(__FILE__)} [input-filename] [output-filename]" puts "" puts "input-file is a mnemosyne xml file. Format is:" puts "--------------------------------------" puts "word1<br>information1<TAB>explanation1" puts "word2<br>information2<TAB>explanation2" puts "......" puts "--------------------------------------" puts "output-file is a mnemosyne xml file, too. Format is:" puts "--------------------------------------" puts "word1<br>information1<TAB>prounciation1<br>explanation1" puts "word2<br>information2<TAB>prounciation2<br>explanation2" puts "......" puts "--------------------------------------" end class AddProunciationToMnemosyneCard @@site_name = "http://www.iciba.com" def add_prounciation_to_mnemosyne_card(input_filename, output_filename) is_file_exit(input_filename) get_file_pronunciation_from_site(input_filename,output_filename) end def get_file_pronunciation_from_site(input_filename,output_filename) file = File.open(input_filename, "r") file.each_line do |card| word = card.strip!.slice(0,card.index("<br>")) pronunciation = get_word_pronunciation_from_url(word) card = card.slice(0,card.index("/t")) + "/t" + pronunciation + "<br>" + card.slice(card.index("/t")+1,card.length) write_result_to_file(output_filename,card) end file.close end def get_word_pronunciation_from_url(word) xml_data = fetch(@@site_name+"/"+word).body pronunciation = get_pronunciation(xml_data) return "[" + pronunciation + "]" end def fetch(url_string, limit = 10) puts "try to fetch url `#{url_string}'" raise ArgumentError, 'HTTP redirect too deep' if limit == 0 response = Net::HTTP.get_response(URI.parse(url_string)) case response when Net::HTTPSuccess then response when Net::HTTPRedirection then fetch(response['location'], limit - 1) else response.error! end end def get_pronunciation(xml_data) start_string = "[<span lang=/"EN-US/" class=/"phonetic fontb font14/">" end_string = "</span>]" start_position = xml_data.index(start_string) + start_string.length end_position = xml_data.index(end_string, start_position) return xml_data.slice(start_position, end_position - start_position) end def is_file_exit(filename) unless File.exist? filename then puts "Error: File `#{filename}' not found." exit end end def write_result_to_file(output_filename,card) file = File.open(output_filename, "a") file.puts card file.close end end unless ARGV.length == 2 then usage exit end inst = AddProunciationToMnemosyneCard.new() inst.add_prounciation_to_mnemosyne_card(ARGV[0],ARGV[1])
本文向大家介绍写个给图片加水印的方法相关面试题,主要包含被问及写个给图片加水印的方法时的应答技巧和注意事项,需要的朋友参考一下 都用Canvas的方案解决 情况一:水印是图片(两张图片canvas.drawImage两次重叠即可) 情况二:水印是纯文字
Mnemosyne 项目主要具有两方面的功能: 是一个复杂的免费Flash卡的工具,优化您的学习过程。 项目的性质是研究长期记忆。
我试图创建一个标签,显示一个列表的左手片段和一个详细的片段在右边。当用户单击列表项时,右边的片段应该更改为适当的片段。 我是android新手,所以我使用了一个教程,我知道我需要用TabListener做一些事情:
本文向大家介绍写一个让一句话随着鼠标移动的小插件相关面试题,主要包含被问及写一个让一句话随着鼠标移动的小插件时的应答技巧和注意事项,需要的朋友参考一下
我使用TabLayout与Viewpager和有3个标签。我正在使用FragmentPagerAdapter来设置选项卡和它的片段。 我只想加载第一个选项卡的片断时,它是默认选择,并希望加载其他选项卡的片断在一个新的活动。 我尝试在位置1和位置2的情况下从getItem方法返回null,但它给出了异常。 提前多谢。
本文向大家介绍小程序如何写动态标签的实现方法,包括了小程序如何写动态标签的实现方法的使用技巧和注意事项,需要的朋友参考一下 web开发中,尤其使用react开发项目时,我们可以很方便的动态定义标签(jsx) 动态配置标签的好处一是所有逻辑在JS端控制,二是使得我们的模板非常规范,方便后续维护更新,碎片模板可以很好的控制,三是我们可以根据使用场景很方便的配置props的属性,这样在html结构输出的
我有四个标签和它的四个片段附加。滑动将把你带到下一个片段或标签。
我正在尝试输出一些SVG并从列表中输出它们,下面是我的渲染方法: 但是,DOM节点总是小写的,即