Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

çµè«ãå ã«ã¾ã¨ããã¨ã以ä¸ã®ï¼ã¤ã§ãã 1. ã°ãã¼ãã«å¤æ°ã®å®£è¨ããªãã¹ãæ¸ããããå ´å 2. ã¦ã¼ã¶ã弿°ãä¸ãã¦ã«ã¹ã¿ãã¤ãºå¯è½ãªèªç±åº¦ã®é«ãã颿°ããçæãããå ´å 3. ååãå¼ã³åºããã¦å®è¡ãããã¨ãã®æ¼ç®çµæï¼å¤ï¼ãå é¨ã§ä¿åãã¦ã次ã«å¼ã³åºãããã¨ãã«ãååã®çµæï¼å¤ï¼ã«å¯¾ãã¦ãããã«åãå¦çï¼æ¼ç®ï¼ãè¡ã颿°ãçæãããå ´å 以ä¸ããã¯ãã¼ã¸ã£ãã®å®ç¾©ãããé ã®æ´çã¾ã§ãåãããããåèã¦ã§ããµã¤ãã¸ã®ãªã³ã¯ãå¼µãã¤ã¤ãè¦ã¦ããã¾ãã ã å®ç¾© ãã¯ãã¼ã¸ã£ takeharuãã Qiitaè¨äºï¼2013/07/22ï¼ãJavaScriptã§ã¯ãã¼ã¸ã£å ¥éã ãèªåãå²ãã¹ã³ã¼ãã«ãã夿°ãåç §ã§ãã颿°ã Wikipedia ãã¯ãã¼ã¸ã£ã 弿°ä»¥å¤ã®å¤æ°ãå®è¡æã®ç°å¢ã§ã¯ãªããèªèº«ãå®ç¾©ãããç°å¢ï¼éçã¹ã³ã¼ãï¼ã«ããã¦è§£æ±ºãããã¨ãç¹å¾´ã¨ããã颿°ã¨ãããè©ä¾¡ããç°
# ordersreport.py from collections import namedtuple Order = namedtuple("Order", "amount placed_at") class OrdersReport: def __init__(self, orders, start_date, end_date): self.orders = orders self.start_date = start_date self.end_date = end_date def total_sales_within_date_range(self): orders_within_range = [] for order in self.orders: if self.start_date <= order.placed_at <= self.end_date: orders
Rubyã®ãªãã¡ã¯ã¿ãªã³ã°ã§ãªãã¸ã§ã¯ãæåè¨è¨ã«æ²¿ã£ãç¾ããã³ã¼ãã«ãªãã¾ã§ã®æ¹æ³ãæ¸ããã ã³ã¼ãã®å ãã¿ã¯Ben Orensteinæ°ã®ãªãã¡ã¯ã¿ãªã³ã°ã§ãããã«ç§ãªãã®è§£èª¬ã¨è¿½å ã³ã¼ããå ããã Ben Orenstein - Refactoring from good to great ãã®ãªãã¡ã¯ã¿ãªã³ã°ã¯å¤§ããåãã¦ï¼æ®µéã ãã¤ã±ã¦ãªããããããã·ãã«ãã ããã·ããããããããã«ãã ããããããããã¹ã²ã¼ããããã«ãã ã¤ã±ã¦ãªãã³ã¼ã ã¾ã以ä¸ã«ããã®ãã¤ã±ã¦ãªãã³ã¼ããä¸å¿åããããã¹ãããã¹ãã¦ãããã§ããã®ã³ã¼ãå質ã¯å¹³åããã¡ãã£ã¨ä¸ã¨ããè¨å®ã ãç¯å²ãæå®ãã¦ãã®æéã®å£²ä¸ç·åè¨ãåºãã³ã¼ãã class OrdersReport def initialize(orders, start_date, end_date) @orders = orders @
Excelã§CSVãã¡ã¤ã«ãéãã¨ã0ã§å§ã¾ãæ°å¤ãæ¥ä»å½¢å¼ã¨è§£éå¯è½ãªãã¼ã¿ãèªå夿ããã¦ãã¾ãããã£ããä¿åããã¨å ã®æ å ±ã失ããã¦ãã¾ããã¨ãããã¾ããä¾ãã° sample.csv 001,1/2/3,03-14,01234567890 ãExcelã§éãã¦ä¿åãã㨠1,2001/2/3,3æ14æ¥,1234567890 ã¨ãªã£ã¦ãã¾ãã¾ãã ããã«å¯¾ããèªå夿ãããã«éãæ¹æ³ã¨ãã¦ã¯ãããã¹ãã¤ã³ãã¼ãã¦ã£ã¶ã¼ããä½¿ãæ¹æ³ãç¥ããã¦ãã¾ãããæå¤ã¨æé ãé¢åã§ãã æ¡å¼µåã.txtã®å ´åã¯ãã¡ã¤ã«ãéãã ãã§èªåçã«ã¦ã£ã¶ã¼ããèµ·åããã®ã§ããã.csvã®å ´åã¯ãã£ãã.txtã«ãªãã¼ã ããããããã¼ã¿âå¤é¨ãã¼ã¿ã®åãè¾¼ã¿âããã¹ããã¡ã¤ã«ã®ã¤ã³ãã¼ããã使ã£ã¦åãè¾¼ãå¿ è¦ãããã¾ã*1ãåè ã®æ¡å¼µåã夿´ããæ¹æ³ã¯åç´ã«èãã¦é¢åãªã ãã§ãªããã¨ã¯ã¹ããã¼ã©ã®è¨å®ã§ãç»é²
æ¦è¦ ä¼ç¤¾ã§ã¯ä½ãã¨Excelã使ãç¾½ç®ã«ãªããã½ããã®ãã§ãã¯ã·ã¼ããä½ããã¨ãããããä½ãã®éè¨çµæãå¥ã®äººã«æ¸¡ãã¨ãã«ã¯Excelã§ã®æåºãè¦æ±ãããã ã¨ãã£ã¦ããExcelä¸ã§æå ¥åã§ãã¼ã¿ãå ¥ããã®ã¯é¿ããã»ããããããããªãã¨ããã¦ãã¾ãã¨ãå¾ã§ãã¶ã¤ã³ãå¤ããªãããããªããªã£ãã¨ãã« å°çãè¦ããã¨ã«ãªãã ããããèªä½ãé¿ããããã«ãExcelã«ãVisual Basicã§ãã¼ã¿ã®å ¥åãªã©ãèªååããæ©æ§ããããããããããè¨èªãVisual Basicã§ããã VBã§ã®ããã°ã©ãã³ã°ã¯ãã¾ã幸ãã¨ã¯æããªãã WIN32OLEã使ãã¨ãRubyããExcelã®åãªãã¸ã§ã¯ãã«ã¢ã¯ã»ã¹ã§ãããããRubyã§Excelãèªç±èªå¨ã«ã³ã³ããã¼ã«ã§ããã ãããªããæ¥½ããããã°ã©ãã³ã°ã§ããã¨ãããã®ã ãä¾ãã°ã以ä¸ã®ã³ã¼ãã¯1çªç®ã®ã¯ã¼ã¯ã·ã¼ãã®B5ã»ã«ã«"Hello"ã¨æ¸ã
âãåé¡ï¼ãâ data.csvãã¡ã¤ã«ã«ã¯ãï¼äººã®ãã¬ã¤ã¤ã¼ï¼Alice, Bob, Jimmy, Kent, Rossï¼ãäºç¨®é¡ã®ã²ã¼ã ï¼gameA, gameBï¼ããã¬ã¤ããçµæãæ¬¡ã®ãããªå½¢ã§æ ¼ç´ããã¦ãããåã²ã¼ã ã®å¹³åç¹ãæ±ããã data.csv player,gameA,gameB Alice,84.0,79.5 Bob,20.0,56.5 Jimmy,80.0,31.0 Kent,90.5,15.5 Ross,68.0,33.0 data = File.read('data.csv') headers, *scores = data.lines.map { |line| line.chomp.split(',') } scores # => [["Alice", "84.0", "79.5"], ["Bob", "20.0", "56.5"], ["Jimmy", "80
ã¿ãåºåãã®3,000è¡ã»ã©ã®CSVãã¡ã¤ã«ã CSV.table ã§èªã¿è¾¼ããã¨ããã¨é常ã«é ãã£ãã®ã§ CSV.read ã試ãã¦ã¿ãã¨ãã100åã®1ç¨åº¦ã§å¦çã§ãã¾ããã Benchmark.bm 10 do |r| r.report "read" do CSV.read(filename, col_sep: "\t", headers: true, header_converters: :symbol) end r.report "table" do CSV.table(filename, col_sep: "\t") end end user system total real read 0.050000 0.000000 0.050000 ( 0.046571) table 4.790000 0.010000 4.800000 ( 4.814375) CSV.tableã¯å¸¸ã«
ã¯ã¦ãªã°ã«ã¼ãã®çµäºæ¥ã2020å¹´1æ31æ¥(é)ã«æ±ºå®ãã¾ãã 以ä¸ã®ã¨ã³ããªã®éããä»å¹´æ«ãç®å¦ã«ã¯ã¦ãªã°ã«ã¼ããçµäºäºå®ã§ããæ¨ããç¥ãããã¦ããã¾ããã 2019å¹´æ«ãç®å¦ã«ãã¯ã¦ãªã°ã«ã¼ãã®æä¾ãçµäºããäºå®ã§ã - ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãã®ãã³ãæ£å¼ã«çµäºæ¥ã決å®ãããã¾ããã®ã§ã以ä¸ã®éãã確èªãã ããã çµäºæ¥: 2020å¹´1æ31æ¥(é) ã¨ã¯ã¹ãã¼ã叿ç³è«æé:2020å¹´1æ31æ¥(é) çµäºæ¥ä»¥éã¯ãã¯ã¦ãªã°ã«ã¼ãã®é²è¦§ããã³æç¨¿ã¯è¡ãã¾ãããæ¥è¨ã®ã¨ã¯ã¹ãã¼ããå¿ è¦ãªæ¹ã¯ä»¥ä¸ã®è¨äºã«ãããã£ã¦æç¶ãããã¦ãã ããã ã¯ã¦ãªã°ã«ã¼ãã«æç¨¿ãããæ¥è¨ãã¼ã¿ã®ã¨ã¯ã¹ãã¼ãã«ã¤ã㦠- ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãå©ç¨ã®ã¿ãªãã¾ã«ã¯ãè¿·æãããããããã¾ãããã©ãããããããé¡ããããã¾ãã 2020-06-25 è¿½è¨ ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ã®ã¨ã¯ã¹ãã¼ããã¼ã¿ã¯2020å¹´2æ28
CSVã®æ¸ãåºãã§ã¡ãã£ã¨ãããããã¨ããã£ã¦æ¨æºæ·»ä»ã®CSVã©ã¤ãã©ãªã«ã¤ãã¦èª¿ã¹ã¦ããã ãã©ãçµå±æ¨æºã®ã¾ã¾ã ã¨åºæ¥ãªããã¨ããçµè«ã«è³ãã¾ããããã®éã«CSV::Convertersã«ã¤ãã¦è²ã ã»ãã£ãã®ã§ã¡ã¢ãããã«æ®ãã¦ããã¾ãã CSV::Convertersã£ã¦ä½ï¼ ããã¥ã¡ã³ããèªãã¨ããã®ããã·ã¥ã¯ååã§ã¢ã¯ã»ã¹ã§ããçµã¿è¾¼ã¿ã®å¤æå¨ãä¿æãã¦ãã¾ãããã¨æ¸ããã¦ãã¾ãã夿å¨ã¨è¨ããã¦ãã©ã使ãã°ããã®ããã³ã¨æ¥ã¾ããã§ãããã°ã°ãã¦ããµã³ãã«ã¨ãããã¾ãç¡ããã ã¨ãããã使ã£ã¦ã¿ã ã¾ãããããªæãã§ä½¿ãã¾ãã require 'csv' CSV.parse("2011-11-23,123,456",:converters => :date) do |csv| p csv end å®è¡ãã㨠[#<Date: 2011-11-23 (4911777/2,0,2299
mk-mode.com Linux, Debian, IT, Server, PG, Ruby, Rails, Python, C++, Fortran, PC, MariaDB, math, GIS, etc... ï¼å¹´ãããåã«ã¯ãCSV ãã¼ã¿ã HTML ã® table ã¿ã°ã«å¤æãã GUI ã¢ããªã Microsoft Visual Basic ã§ä½æãããã¨ãè¨äºã«ãã¾ããã * VisualBasic - CSVãTABLEã¿ã°ã«å¤æï¼ æè¿ã¯ãã©ã¤ãã¼ãã§ Windows ç³» OS ã«è§¦ãããã¨ããªãã®ã§ãåæ§ã®ãã¼ã«ï¼ãã ããCUI ãã¼ã¹ï¼ã Ruby ã§ä½æãã¾ããã åç´ã« CSV ãã¡ã¤ã«ãèªã¿è¾¼ãã§ã HTML ã«å¤æãã¦ããã ãã§ããã以ä¸ã§ä½æãã Ruby ã¹ã¯ãªãããç´¹ä»ãã¾ãã 0. åææ¡ä»¶ Linux Mint 14 (64bit) ã§ã®ä½æ¥ãæ³
minitest ã«ã¯æ¨æºã§ mock ã stub ã®æ©è½ãä»ãã¦ãã¾ãããããã®æåã«ã¤ãã¦å¦ãã ã®ã§ã¡ã¢ã ã³ã¼ãä¾ ä¸è¨ã®ãã㪠Person ã¯ã©ã¹ã¨ Whisky ã¯ã©ã¹ãããã¨ãã¾ãããããã«ã¤ã㦠minitest ã® mock 㨠stub ã使ã£ã¦ãã¹ããæ¸ãã¦ã¿ã¾ãã class Person def eat(food) food.taste end def drink(whisky) whisky.alcohol.upcase end end class Whisky def alcohol # ã¾ã å®è£ ããã¦ããªã end end mock minitest ã§ã¯ä¸è¨ã®ããã« mock ãæ¸ãã¾ãã describe Person do subject { Person.new } describe '#eat' do it '弿°ã«ã¨ã£ããªãã¸ã§ã¯ãã® #tas
ä¸è¨ã®ãã㪠minitest ã§æ¸ããããã¹ããããã¨ãã¾ãã # test.rb require 'minitest/autorun' class TestHoge < MiniTest::Unit::TestCase def test_hoge assert_equal "hoge", "hoge" end def test_fuga assert_equal "fuga", "fuga" end end test_hoge ã ãããã¹ããããå ´åã¯ä¸è¨ã®ããã« ruby test.rb -n test_hoge ã®ããã«-n å®è¡ããããã¹ãåãã¤ãã¦ãã¹ããå®è¡ãã¾ãã ã§ã¯ä¸è¨ã®ããã«ãminitest/spec ãå©ç¨ãã¦æ¸ããããã¹ãã®ãã¡ã'hoge' ã®æ¹ã ããã¹ããããå ´åã¯ã©ã®ããã«æ¸ãããè¯ãã§ããããã require 'minitest/autorun' de
ä¾å¤ããã¹ããã ä¾å¤ãçºçãããã¨ããã¹ã assert_raises(KeyError) do hash.fetch(:doesnt_exists) end ä¾å¤ãçºçããªããã¨ããã¹ã assert_nothing_raised do hash.fetch(:key_exists) end ã¡ã½ãããæå³çã«ã¨ã©ã¼ãçºçãããæã¯ãã¨ã©ã¼ãçºçãããå ´åã¨ãããªãå ´åã®ä¸¡æ¹ããã¹ããããã¨ã ããããã¨ãç¡æ¡ä»¶ã«ã¨ã©ã¼ãçºçãã訳ã§ã¯ãªããã¨ãæ¡ä»¶ãåãã°ã¨ã©ã¼ãçºçãããã¨ãã®ä¸¡æ¹ããã¹ãã§ããã é«åº¦ãªãã¹ããã¯ãã㯠ã¢ãã¯ã¨ã¹ã¿ãã使ã IOãä¼´ããããªãã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¼ã¹é¨åã¨ããã¸ãã¯ãåºæ¥ãéãåé¢ãã ãã¸ãã¯ãåé¢ã§ããã°ããã®é¨åã®ãã¹ãã¯ç°¡åã«ãªã ã¦ã¼ã¶ã¼å ¥åã¸ã®å¿çããã¹ãããããã°ãã¹ã¿ãã使ã class Questioner def method
MiniTest does implement assert_nothing_raised in its Test::Unit compatibility layer, but in its own tests (MiniTest::Unit and MiniTest::Spec) it does not implement any test like this. The reason is, the programmer argues, that testing for nothing raised is not a test of anything; you never expect anything to be raised in a test, except when you are testing for an exception. If an unexpected (uncau
require 'optparse' class Test class CLI def parse_options(argv = ARGV) op = OptionParser.new # op ããã¼ã«ã«å¤æ°ãªã®ã§ `define_method` ã§ `usage` ãå®ç¾©ãã¦ãããããã ã®ãã ããã«éããªãã¨è¨ãã°ãã®éã self.class.module_eval do define_method(:usage) do |msg = nil| puts op.to_s puts "error: #{msg}" if msg exit 1 end end # default value opts = { boolean: false, string: '', integer: 0, array: [], } # boolean op.on('-b', '--[no-]boolean'
çµç·¯ ç§ï¼èªç¶è¨èªå¦çã«æºããç ç©¶ãè¡ã£ã¦ããã®ã§ãã å¿ ç¶ã¨å¤§è¦æ¨¡ãªããã¹ããã¼ã¿ãæ±ãã¾ã. (æãã大åã®è¨èªå¦çã®ããã°ã©ã ãæ¸ãã¦ããæ¹ã«è¨ªããã§ããã)鬼éã ã©ãã ãç¶²ç¾ ãããã¨ãããã¹ããã¼ã¿ã«ä¾å¤ãåå¨ãã ã¨ãããã¨ã§ãï¼ èªç¶è¨èªå¦çã®å¤§åã¯ï¼ãã®ä¾å¤ã¨æ¦ãã®ã§ã¯ãªãã®ãã¨ãããããã« ä¾å¤ãçºçãã¾ããã¾ã. ãããåãé¤ãããã«åå¦ç(ã®åå¦ç)ã¨ãã形㧠ããã¹ãã®ãã£ã«ã¿ãªã³ã°ã»æ´å½¢ãè¡ãå¿ è¦ãåºã¦ããããã§ã. ããã§ãæ½°ãã¦ãï¼æ½°ãã¦ãæ¶ããªãä¾å¤ã¯åå¨ããããã§ãã¦â¦ ãªãã°ä¾å¤ãèµ·ãããã¨ãèæ ®ããããã°ã©ã ãæ¸ãã®ãä¸çªã§ã. ã¨ãããã¨ã§ä»åã®è¨äºãæ¸ãã«å½ããã¾ãã. ã³ã³ãã³ã ä¾å¤å¦çã®æ¸ãæ¹ ä¾å¤ãå®ç¾©ãã ãã³ã¬ã¼ã¿ã使ã£ãè³¢ãä¾å¤å¦ç 1.ä¾å¤å¦çã®åºæ¬ pythonã«ãããåºæ¬çãªä¾å¤å¦çã¯ä»¥ä¸ã®ããã«æ¸ãã¾ã. try: # ä¾å¤ã
Pythonã®decorator ã¯æ ¼å¥½ãããããRubyã§ãããªæãã®ãã®ãä½ããªããã¨ä½åãèãããã®ã®ã䏿ãAPIãæãã¤ããã«ããã ãã®ãã³ã technohippyããã®ææ¦ ã«åºæ¿ããã¦æ¸ãã¦ã¿ãã decorator.rb 仿§ã¨ãã¦ã¯Pythonã«åããã¦ãå¼ã³åºãå¯è½ãªãã¸ã§ã¯ããè¿ã颿°ã¨ãã¦decoratorã使ãããããã¦ãdeclareã¨ããã¡ã½ããã«decoratorãæ¸¡ãã¨ããããã¯å ã§å®ç¾©ãããã¡ã½ããã¯decoratorã§ä¿®é£¾ãããã ä¾ class Module def type(name, types) before(name) do |name, args| args.zip(types).each_with_index do |(arg, type), i| raise TypeError, "#{i}th argument #{arg} s
http://code.google.com/appengine/articles/transaction_isolation.html ã¯ããã« Wikipediaã«ããã¨ãã¼ã¿ãã¼ã¹ç®¡çã·ã¹ãã ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®åé¢ã¬ãã«ã¯ãããæä½ã«ãã夿´ã並åã«å®è¡ãããä»ã®æä½ããè¦ããããã«ãªãã¿ã¤ãã³ã°ã¨ãã®ææ®µã«ãã£ã¦å®ç¾©ããããããã ããã®è¨äºã§ã¯Google App Engineãã¼ã¿ã¹ãã¢ã§ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®åé¢ã«ã¤ãã¦èª¬æããããè¨äºãèªãã°ä¸¦åãªèªã¿æ¸ããã©ã®ããã«å®è¡ããããããæ·±ãçè§£ãå¾ãããã ããã Read Committed ãã¼ã¿ãã¼ã¹ã«ãã£ã¦ãµãã¼ããããåé¢ã¬ãã«ã¯4ã¤(Serializable, Repeatable Read, Read Committed, Read Uncommitted)ã ãããã¼ã¿ã¹ãã¢ã®åé¢ã¬ãã«ã¯ãã®ãã¡ã®Read Comm
ãã¡ãã®ã¹ã©ã¤ããRubyã§Rubyãæ¡å¼µãããã¤ã¾ãã¡ã¿ããã°ã©ãã³ã°ã®è©±ã Extending Ruby with Ruby // Speaker Deck ã¡ã¿ããã°ã©ãã³ã°ã使ã£ã¦ä»ã®è¨èªã®æ©è½ãå®è£ ãããã¨ããå 容ã«ãªã£ã¦ãã Python: Function decorators Scala: Partial application Haskell: Lazy evaluation ä»åã¯ããã®ä¸ã§Pythonã®decoratorãå®è£ ããã¨ããã®ãããã¯ã¢ããã githubã«ã½ã¼ã¹ã³ã¼ããããã£ã¦ã¦ãã¹ã©ã¤ãä¸ã§ã¯æªè§£æ±ºã«ãªã£ã¦ãåé¡ããã§ã«è§£æ±ºããã¦ããã michaelfairley/method_decorators ããããè¼ããã³ã¼ãã¯ãgithubã®æ¹ãããªãã¦ã¹ã©ã¤ãä¸ã®ã³ã¼ãã«ä¸é¨æãå ¥ãããã®ã«ãªã£ã¦ããã²ã¨ã¤ã®ã¡ã½ããã«è¤æ°ã®decoratorãæå®ã§ã
æ¸æ¥è¨@shibu.jp æ¸å·ãããã®æ¥è¨ã§ããã½ããã¦ã§ã¢éçºã¨ããã©ã¤ãããã¯ãä¸å¿ã«è¨äºãæ¸ãã¦ããã¾ãã Pythonã®ãã³ã¬ã¼ã¿ãã¨ã£ã¦ã便å©ã§ãããããã¹ãããã·ã³ãã«ãªææ³ã®ã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ã¼ãªã®ã«ã夢ããããåºããã¾ããåããã³ã¬ã¼ã¿ãæ¬æ ¼çã«ããã£ããã£ããã¯ãTurboGearsããã¥ã¼ã®ã¯ã©ã¹ã®ã¡ã½ããã«ã@exposeã¨ããã¨ããã®ã¡ã½ãããã«ã¼ãã£ã³ã°ãã¼ãã«ã«ç»é²ããã¦ããã©ã¦ã¶ãããã®ã¡ã½ããåã®URLããããã¨ãå¤ããå¼ã³åºããããã«ãªããã¨ãã仿ãã§ããå®éã«ãå é¨ã§è¡ããã¦ããå¦çã¯ãããªæãã§ãã #pythonã®ãã³ã¬ã¼ã¿ã®ãµã³ãã« @expose def exposed_method(): pass #ãããã£ã¦è§£éããã def expsed_method(): pass exposed_method = expose(exposed_met
Rakefileã«å ããã¹ã7è¡ 7 Lines Every Gemâs Rakefile Should Have å¿ è¦ãªgemãrequireãã¦ããã«ä½¿ããããã«ãã¾ãããã¨ï¼èªåã¯pryã§ï¼ task :console do require 'pry' requrey 'my_gem' ARGV.clear Pry.start end OSSã ã¨pry使ã£ã¦ãªãã²ã¨ãããå¯è½æ§ãããããirbã§ãã£ãã»ããããããï¼
ã¹ã¿ãã¨ã¢ãã¯ã®éã ãªãã¸ã§ã¯ãæåè¨è¨å®è·µå ¥éãèªãã§å¦ãã ãã¨ã®ã¾ã¨ãã§ãã å ·ä½çã«Rspecã§ã¢ãã¯ãæ¸ãã¨ãã¯ãããã¾ããããã¨ãã£ãå ·ä½çãªè©±ã§ã¯ãªãè¨èã®æå³ã®èª¬æãã¡ã¤ã³ã§ãã ã½ããã¦ã§ã¢ãã¹ãã®å¯¾è±¡ ã¹ã¿ããã¢ãã¯ããã¹ãã³ã¼ãå ã§ä½¿ããã®ã§ããéããèããåã«ããã¹ãã«ã¤ãã¦æ¯ãè¿ã£ã¦ã¿ã¾ãã ãã¹ããè¡ãã¹ããªã®ã¯ã次ã®2ã¤ã«ã¤ãã¦ã§ãã ãªãã¸ã§ã¯ããã»ãã®ãªãã¸ã§ã¯ãããã¡ãã»ã¼ã¸ãåãåã£ãã¨ããæå¾ ããçããè¿ããã¨ãã§ããã è¦ããã«ãããªãã¯ã¡ã½ããã«å¯¾ããã¦ããããã¹ã ããªãã¸ã§ã¯ãæåè¨è¨å®è·µã¬ã¤ããã«ã¯ããã©ã¤ãã¼ãã¡ã½ããã«å¯¾ãããã¹ãã¯æ¸ãã¹ãã§ã¯ãªããããã«ããã¨ãã©ã¤ãã¼ãã¡ã½ãããæ¸ãã¹ãã§ã¯ãªã(ãã©ã¤ãã¼ãã¡ã½ãããä»ã®ãªãã¸ã§ã¯ãã«åãåºãã¦æ³¨å ¥ãã)ã¨ããã¾ãã ãªãã¸ã§ã¯ããå¯ä½ç¨ã®ããã¡ãã»ã¼ã¸éä¿¡ãè¡ãã¨ãããã®åæ°ãå¼
Perl ã§è¤æ°ã®ãã¹ããå®è¡ããå ´å㯠prove ã³ãã³ããããããã©ãRuby ã®å ´åã¯ã©ãããã®ããããã ãããªã¼ã ã¨æã£ã¦èª¿ã¹ã¦ã¿ã¾ããã ãRubyãã¹ããã©ã¯ãã£ã¹ -ãããã§ãã·ã§ãã«ã«ããã³ã¼ãã¨ãã¯ããã¯ã ã«ããã¨ãRake::TestTask ã使ãã®ãè¯ãããã§ãã 以ä¸ã®ãã㪠rakefile ãæ¸ãã¦ããã¨ã¯ rake test ã§å®è¡ãã¨ã # coding: UTF-8 require 'rake/testtask' task :default => [:test] Rake::TestTask.new do |test| # $LOAD_PATH ã«è¿½å ãããã¹ (ããã©ã«ãã§ 'lib' ã¯å ¥ã£ã¦ãã) test.libs << 'test' # ãã¹ã対象ãã¡ã¤ã«ã®æå® test.test_files = Dir[ 'test/**/test_*
ã¿ã¤ãã«ã®ã¨ãããminitestã®ãã¹ããå ¨ã¦å®è¡ããRakefileã¯ä»¥ä¸ã®ããã«æ¸ããã ããã§testãã£ã¬ã¯ããªä»¥ä¸ã«ããtest_foo.rbã®ãããªãã¹ãã¹ã¯ãªãããå ¨ã¦å®è¡ãããã # coding: UTF-8 require 'rake/testtask' task :default => [:test] Rake::TestTask.new do |test| test.test_files = Dir['test/**/test_*.rb'] test.verbose = true end
éçºãã·ã³ãWindowsã§ãæ¬çªãµã¼ãã¼ãLinuxã¨ãããã¨ã¯è¯ãããã¾ãã ãã®ãããªç¶æ³ã®å ´åããã¼ã¿ãã¼ã¹ã®ä½æãä¿®æ£ãWindowsã§ã¯ããããã¡ã¤ã«ã§ããã Linuxã§ã¯ã·ã§ã«ã¹ã¯ãªãããä»ã¾ã§ä½¿ã£ã¦ãã¾ãããããããWindowsã¨Linuxã«Rubyã ã¤ã³ã¹ãã¼ã«ããã¦ããã°Rakeã使ç¨ã§ããã®ã§ãRakefileãWindowsã¨Linuxã®ä¸¡æ¹ã§ åä½ããããã«æ¸ãã°è¯ãã¨æããä½ã£ã¦ã¿ã¾ããã ã¾ããã©ããä½ããªãrailsã®Rakeã®ã³ãã³ãã«ä¼¼ãããã¨æã£ã¦ãä¼¼ããããªã³ãã³ãã«ãã¾ããã Rakefileãµã³ãã« PASSWORD = "" DBNAME = "mydb_test" MIGRATE_DDL = "test.ddl" MYUSER = "root" PGUSER = "postgres" if /windows/i =~ ENV['OS']
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}