diff --git a/5 b/5 new file mode 100644 index 00000000..7adea364 --- /dev/null +++ b/5 @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +describe Definition, type: :model do + describe 'Validate uniquness' do + before { create(:definition) } + + it { should validate_uniqueness_of(:word) } + end + + describe 'Associacion' do + it { should have_many(:users).through(:learned_words) } + it { should have_many(:learned_words).dependent(:destroy) } + end + + describe 'Validation presence' do + context 'with not valid' do + before { record.validate } + + context 'word' do + let(:record) { build(:definition, word: '') } + + it 'is no valid' do + expect(record.errors[:word]).to include("can't be blank") + end + end + + context 'description' do + let(:record) { build(:definition, description: '') } + + it 'is no valid' do + expect(record.errors[:description]).to include("can't be blank") + end + end + end + + context 'when is valid' do + let(:record) { build(:definition) } + + it 'word and description' do + expect(record).to be_valid + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/.gitignore b/Dzmitry-Monich/3/fasteng/.gitignore new file mode 100644 index 00000000..799d97bd --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/.gitignore @@ -0,0 +1,12 @@ +/.bundle/ +/vendor/bundle +.DS_Store +*.gem +/tmp/ +/.rubocop.yml +.env +.solargraph.yml +/log/* +!/log/.keep +/bin/* +!/bin/bot diff --git a/Dzmitry-Monich/3/fasteng/.rspec b/Dzmitry-Monich/3/fasteng/.rspec new file mode 100644 index 00000000..4e33a322 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/.rspec @@ -0,0 +1,3 @@ +--require spec_helper +--color +--format documentation diff --git a/Dzmitry-Monich/3/fasteng/Gemfile b/Dzmitry-Monich/3/fasteng/Gemfile new file mode 100644 index 00000000..29ce3362 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/Gemfile @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' + +git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } + +gem 'telegram-bot-ruby', '~> 0.15.0' + +gem 'dotenv', '~> 2.7' + +gem 'rspec', '~> 3.10' + +gem 'activerecord', '~> 6.0' + +gem 'aasm' + +gem 'standalone_migrations', '~> 6.0' + +gem 'rake', '~> 13.0' + +gem 'pg', '~> 1.2' + +gem 'pry', '~> 0.14.1' + +gem 'shoulda-matchers', require: false + +gem 'factory_bot' + +gem 'database_cleaner-active_record' + +gem 'whenever', require: false +gem 'whenever-test' + +gem 'timecop', '~> 0.9.4' + +gem 'faker', git: 'https://github.com/faker-ruby/faker.git', branch: 'master' + +gem 'sinatra' +gem 'thin' + +gem 'rack', '~> 2.2' + +gem 'after_commit_everywhere', '~> 1.0' diff --git a/Dzmitry-Monich/3/fasteng/Gemfile.lock b/Dzmitry-Monich/3/fasteng/Gemfile.lock new file mode 100644 index 00000000..c88328f1 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/Gemfile.lock @@ -0,0 +1,186 @@ +GIT + remote: https://github.com/faker-ruby/faker.git + revision: 1c1b56178cf6aabddfdaffcf879bbf94b2725812 + branch: master + specs: + faker (2.18.0) + i18n (>= 1.6, < 2) + +GEM + remote: https://rubygems.org/ + specs: + aasm (5.2.0) + concurrent-ruby (~> 1.0) + actionpack (6.0.3.7) + actionview (= 6.0.3.7) + activesupport (= 6.0.3.7) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actionview (6.0.3.7) + activesupport (= 6.0.3.7) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activemodel (6.0.3.7) + activesupport (= 6.0.3.7) + activerecord (6.0.3.7) + activemodel (= 6.0.3.7) + activesupport (= 6.0.3.7) + activesupport (6.0.3.7) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + after_commit_everywhere (1.0.0) + activerecord (>= 4.2) + axiom-types (0.1.1) + descendants_tracker (~> 0.0.4) + ice_nine (~> 0.11.0) + thread_safe (~> 0.3, >= 0.3.1) + builder (3.2.4) + chronic (0.10.2) + coderay (1.1.3) + coercible (1.0.0) + descendants_tracker (~> 0.0.1) + concurrent-ruby (1.1.8) + crass (1.0.6) + daemons (1.4.0) + database_cleaner-active_record (2.0.1) + activerecord (>= 5.a) + database_cleaner-core (~> 2.0.0) + database_cleaner-core (2.0.1) + descendants_tracker (0.0.4) + thread_safe (~> 0.3, >= 0.3.1) + diff-lcs (1.4.4) + dotenv (2.7.6) + equalizer (0.0.11) + erubi (1.10.0) + eventmachine (1.2.7) + factory_bot (6.2.0) + activesupport (>= 5.0.0) + faraday (1.4.1) + faraday-excon (~> 1.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-excon (1.1.0) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.1.0) + i18n (1.8.10) + concurrent-ruby (~> 1.0) + ice_nine (0.11.2) + inflecto (0.0.2) + loofah (2.9.1) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + method_source (1.0.0) + minitest (5.14.4) + multipart-post (2.1.1) + mustermann (1.1.1) + ruby2_keywords (~> 0.0.1) + nokogiri (1.11.3-x86_64-darwin) + racc (~> 1.4) + pg (1.2.3) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + racc (1.5.2) + rack (2.2.3) + rack-protection (2.1.0) + rack + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.3.0) + loofah (~> 2.3) + railties (6.0.3.7) + actionpack (= 6.0.3.7) + activesupport (= 6.0.3.7) + method_source + rake (>= 0.8.7) + thor (>= 0.20.3, < 2.0) + rake (13.0.3) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.2) + ruby2_keywords (0.0.4) + shoulda-matchers (4.5.1) + activesupport (>= 4.2.0) + sinatra (2.1.0) + mustermann (~> 1.0) + rack (~> 2.2) + rack-protection (= 2.1.0) + tilt (~> 2.0) + standalone_migrations (6.0.0) + activerecord (>= 4.2.7, < 6.1.0, != 5.2.3.rc1, != 5.2.3) + railties (>= 4.2.7, < 6.1.0, != 5.2.3.rc1, != 5.2.3) + rake (>= 10.0) + telegram-bot-ruby (0.15.0) + faraday + inflecto + virtus + thin (1.8.0) + daemons (~> 1.0, >= 1.0.9) + eventmachine (~> 1.0, >= 1.0.4) + rack (>= 1, < 3) + thor (1.1.0) + thread_safe (0.3.6) + tilt (2.0.10) + timecop (0.9.4) + tzinfo (1.2.9) + thread_safe (~> 0.1) + virtus (1.0.5) + axiom-types (~> 0.1) + coercible (~> 1.0) + descendants_tracker (~> 0.0, >= 0.0.3) + equalizer (~> 0.0, >= 0.0.9) + whenever (1.0.0) + chronic (>= 0.6.3) + whenever-test (1.0.1) + whenever + zeitwerk (2.4.2) + +PLATFORMS + x86_64-darwin-18 + +DEPENDENCIES + aasm + activerecord (~> 6.0) + after_commit_everywhere (~> 1.0) + database_cleaner-active_record + dotenv (~> 2.7) + factory_bot + faker! + pg (~> 1.2) + pry (~> 0.14.1) + rack (~> 2.2) + rake (~> 13.0) + rspec (~> 3.10) + shoulda-matchers + sinatra + standalone_migrations (~> 6.0) + telegram-bot-ruby (~> 0.15.0) + thin + timecop (~> 0.9.4) + whenever + whenever-test + +BUNDLED WITH + 2.2.16 diff --git a/Dzmitry-Monich/3/fasteng/Makefile b/Dzmitry-Monich/3/fasteng/Makefile new file mode 100755 index 00000000..9918b927 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/Makefile @@ -0,0 +1,31 @@ +install: + bundle install + +run: + bin/bot + +server: + ruby lib/server.rb + +test: + bundle exec rspec + +tasks: + bundle exec rake --tasks + +db-migrate: + bundle exec rake db:migrate + +db-create: + bundle exec rake db:new_migration name=$(N) + +# cron-setup: +# bundle exec whenever + +cron-start: + bundle exec whenever --update-crontab --set environment=development + +cron-stop: + bundle exec whenever --clear-crontab + +.PHONY: test diff --git a/Dzmitry-Monich/3/fasteng/README.md b/Dzmitry-Monich/3/fasteng/README.md new file mode 100644 index 00000000..91362a42 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/README.md @@ -0,0 +1 @@ +## Bot diff --git a/Dzmitry-Monich/3/fasteng/Rakefile b/Dzmitry-Monich/3/fasteng/Rakefile new file mode 100644 index 00000000..3a6d0907 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/Rakefile @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# rubocop:disable Lint/RedundantCopDisableDirective +# rubocop:disable Rails/RakeEnvironment + +require 'standalone_migrations' +StandaloneMigrations::Tasks.load_tasks + +require_relative 'lib/fasteng' + +namespace :cron do + task :notify do + Fasteng::NotifyHandler.call + end +end + +# rubocop:enable Rails/RakeEnvironment +# rubocop:enable Lint/RedundantCopDisableDirective diff --git a/Dzmitry-Monich/3/fasteng/bin/bot b/Dzmitry-Monich/3/fasteng/bin/bot new file mode 100755 index 00000000..914afee1 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/bin/bot @@ -0,0 +1,10 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require 'bundler/setup' +require_relative '../lib/fasteng' + +# Fasteng.config.url = ENV['URL'] +# Fasteng.config.controller = 'webhook' + +Fasteng::App.run diff --git a/Dzmitry-Monich/3/fasteng/config/schedule.rb b/Dzmitry-Monich/3/fasteng/config/schedule.rb new file mode 100644 index 00000000..1ff69db5 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/config/schedule.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +set :output, 'log/cron.log' + +every '0 0-23 * * 0-6' do + rake 'cron:notify' +end + +# test +# every '0-59 * * * 0-6' do +# rake 'cron:notify' +# end diff --git a/Dzmitry-Monich/3/fasteng/data/dictionary.txt b/Dzmitry-Monich/3/fasteng/data/dictionary.txt new file mode 100644 index 00000000..f21adb15 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/data/dictionary.txt @@ -0,0 +1,2754 @@ +B + + + +Brandy n. (pl. -ies) strong alcoholic spirit distilled from wine or fermented fruit juice. [dutch brandewijn] + +Brandy butter n. Mixture of brandy, butter, and sugar. + +Brandy-snap n. Crisp rolled gingerbread wafer usu. Filled with cream. + +Bran-tub n. Lucky dip with prizes hidden in bran. + +Brash adj. Vulgarly self-assertive; impudent.  brashly adv. Brashness n. [dial.] + +Brass —n. 1 yellow alloy of copper and zinc. 2 brass objects collectively. 3 brass wind instruments. 4 slang money. 5 brass memorial tablet. 6 colloq. Effrontery. —adj. Made of brass.  brassed off slang fed up. [old english] + +Brass band n. Band of brass instruments. + +Brasserie n. Restaurant, orig. One serving beer with food. [french brasser brew] + +Brassica n. Plant of the cabbage family. [latin, = cabbage] + +Brassière n. = *bra. [french] + +Brass monkey n. Coarse slang used in various phrases to indicate extreme cold. + +Brass-rubbing n. 1 practice of taking impressions by rubbing heelball etc. Over paper laid on engraved brasses. 2 impression obtained by this. + +Brass tacks n.pl. Slang essential details. + +Brassy adj. (-ier, -iest) 1 of or like brass. 2 impudent. 3 vulgarly showy. 4 loud and blaring. + +Brat n. Usu. Derog. Child, esp. An ill-behaved one. [origin unknown] + +Bravado n. Show of boldness. [spanish] +Brave —adj. 1 able or ready to face and endure danger, disgrace, or pain. 2 formal splendid, spectacular. —n. American indian warrior. —v. (-ving) face bravely or defiantly.  bravely adv. Braveness n. Bravery n. [ultimately latin barbarus barbarian] + +Bravo —int. Expressing approval. —n. (pl. -s) cry of ‘bravo’. [french from italian] + +Bravura n. 1 brilliance of execution. 2 (often attrib.) Passage of (esp. Vocal) music requiring brilliant technique. [italian] + +Brawl —n. Noisy quarrel or fight. —v. 1 engage in a brawl. 2 (of a stream) run noisily. [provençal] + +Brawn n. 1 muscular strength. 2 muscle; lean flesh. 3 jellied meat made from a pig's head.  brawny adj. (-ier, -iest). [french from germanic] + +Bray —n. 1 cry of a donkey. 2 harsh sound like this. —v. 1 make a bray. 2 utter harshly. [french braire] + +Braze v. (-zing) solder with an alloy of brass and zinc. [french braser] + +Brazen —adj. 1 shameless; insolent. 2 of or like brass. 3 harsh in sound. —v. (foll. By out) face or undergo defiantly (brazen it out).  brazenly adv. [old english] + +Brazier1 n. Metal pan or stand holding burning coals etc. [french: related to *braise] + +Brazier2 n. Worker in brass. [probably from *brass] + +Brazil n. 1 tall s. American tree. 2 (in full brazil nut) its large three-sided nut. [brazil in s. America] + +Breach —n. 1 (often foll. By of) breaking or non-observation of a law, contract, etc. 2 breaking of relations; quarrel. 3 opening, gap. —v. 1 break through; make a gap in. 2 break (a law, contract, etc.).  step into the breach help in a crisis, esp. As a replacement. [germanic: related to *break] + +Breach of promise n. Breaking of a promise, esp. To marry. + +Breach of the peace n. Crime of causing a public disturbance. + +Bread —n. 1 baked dough of flour and water, usu. Leavened with yeast. 2 necessary food. 3 slang money. —v. Coat with breadcrumbs for cooking. [old english] + +Bread and butter —n. One's livelihood. —attrib. Adj. (bread-and-butter) done or produced to earn a basic living. + +Breadboard n. 1 board for cutting bread on. 2 board for making an experimental model of an electric circuit. + +Breadcrumb n. Small fragment of bread, esp. (in pl.) For use in cooking. + +Breadfruit n. 1 fruit which resembles new bread when roasted. 2 tropical evergreen tree bearing it. + +Breadline n. Subsistence level (esp. On the breadline). + +Bread sauce n. White sauce thickened with breadcrumbs. + +Breadth n. 1 distance or measurement from side to side of a thing. 2 freedom from prejudice or intolerance. [old english: related to *broad] + +Breadwinner n. Person who works to support a family. + +Break —v. (past broke; past part. Broken) 1 a separate into pieces under a blow or strain; shatter. B make or become inoperative. C break a bone in or dislocate (part of the body). 2 a interrupt (broke our journey). B have an interval (broke for tea). 3 fail to keep (a law, promise, etc.). 4 a make or become subdued or weak; (cause to) yield; destroy. B weaken the effect of (a fall, blow, etc.). C = break in 3c. 5 surpass (a record). 6 (foll. By with) end a friendship with (a person etc.). 7 a be no longer subject to (a habit). B (foll. By of) free (a person) from a habit (broke them of their addiction). 8 reveal or be revealed (broke the news; story broke). 9 a (of fine weather) change suddenly. B (of waves) curl over and foam. C (of the day) dawn. D (of clouds) move apart. E (of a storm) begin violently. 10 electr. Disconnect (a circuit). 11 a (of the voice) change with emotion. B (of a boy's voice) change at puberty. 12 a (often foll. By up) divide (a set etc.). B change (a banknote etc.) For coins. 13 ruin financially (see also *broke adj.). 14 penetrate (e.g. A safe) by force. 15 decipher (a code). 16 make (a way, path, etc.) By force. 17 burst forth (sun broke through). 18 a (of troops) disperse in confusion. B rupture (ranks). 19 a (usu. Foll. +Breakable —adj. Easily broken. —n. (esp. In pl.) Breakable thing. + +Breakage n. 1 a broken thing. B damage caused by breaking. 2 act or instance of breaking. + +Breakaway n. (often attrib.) Breaking away; secession (breakaway group). + +Break-dancing n. Acrobatic style of street-dancing. + +Breakdown n. 1 a mechanical failure. B loss of (esp. Mental) health. 2 collapse (breakdown of communication). 3 analysis (of statistics etc.). + +Breaker n. 1 heavy breaking wave. 2 person or thing that breaks something, esp. Disused machinery. + +Breakfast —n. First meal of the day. —v. Have breakfast. + +Break-in n. Illegal forced entry, esp. With criminal intent. + +Breaking and entering n. (formerly) the illegal entering of a building with intent to commit a felony. + +Breaking-point n. Point of greatest strain. + +Breakneck attrib. Adj. (of speed) dangerously fast. +Break-out n. Forcible escape. + +Breakthrough n. 1 major advance or discovery. 2 act of breaking through an obstacle etc. + +Breakup n. 1 disintegration or collapse. 2 dispersal. + +Breakwater n. Barrier breaking the force of waves. + +Bream n. (pl. Same) 1 yellowish arch-backed freshwater fish. 2 (in full sea bream) similar marine fish. [french from germanic] + +Breast —n. 1 a either of two milk-secreting organs on a woman's chest. B corresponding part of a man's body. 2 a chest. B corresponding part of an animal. 3 part of a garment that covers the breast. 4 breast as a source of nourishment or emotion. —v. 1 contend with. 2 reach the top of (a hill).  make a clean breast of confess fully. [old english] + +Breastbone n. Thin flat vertical bone in the chest between the ribs. + +Breast-feed v. Feed (a baby) from the breast. + +Breastplate n. Armour covering the breast. + +Breast-stroke n. Swimming stroke made by extending both arms forward and sweeping them back. + +Breastwork n. Low temporary defence or parapet. + +Breath n. 1 a air drawn into or expelled from the lungs. B one respiration of air. C breath as perceived by the senses. 2 a slight movement of air. B whiff (of perfume etc.). 3 whisper, murmur (esp. Of scandal).  catch one's breath 1 cease breathing momentarily in surprise etc. 2 rest to restore normal breathing. Hold one's breath cease breathing temporarily. Out of breath gasping for air, esp. After exercise. Take one's breath away surprise, delight, etc. Under one's breath in a whisper. [old english] + +Breathalyser n. (also -lyzer) propr. Instrument for measuring alcohol levels in the breath exhaled into it.  breathalyse v. (also -lyze) (-sing or -zing). [from *breath, *analyse] + +Breathe v. (-thing) 1 draw air into and expel it from the lungs. 2 be or seem alive. 3 a utter or sound (esp. Quietly). B express (breathed defiance). 4 pause. 5 send out or take in (as if) with the breath (breathed new life into them; breathed whisky). 6 (of wine etc.) Be exposed to the air.  breathe again (or freely) feel relief. + +Breather n. 1 colloq. Brief pause for rest. 2 brief period in the fresh air. + +Breathing-space n. Time to recover; pause. + +Breathless adj. 1 panting, out of breath. 2 holding the breath. 3 still, windless.  breathlessly adv. + +Breathtaking adj. Astounding; awe-inspiring.  breathtakingly adv. + +Breath test n. Test with a breathalyser. + +Bred past and past part. Of *breed. + +Breech n. Back part of a rifle or gun barrel. [old english] + +Breech birth n. (also breech delivery) delivery of a baby with the buttocks or feet foremost. + +Breeches n.pl. Short trousers, esp. Fastened below the knee. + +Breeches buoy n. Lifebuoy with canvas breeches for the user's legs. + +Breed —v. (past and past part. Bred) 1 (of animals) produce young. 2 propagate; raise (animals). 3 yield; result in. 4 arise; spread. 5 bring up; train. 6 create (fissile material) by nuclear reaction. —n. 1 stock of similar animals or plants within a species, usu. Developed by deliberate selection. 2 race; lineage. 3 sort, kind.  breeder n. [old english] + +Breeder reactor n. Nuclear reactor creating surplus fissile material. + +Breeding n. 1 raising of offspring; propagation. 2 social behaviour; ancestry. + +Breeze1 —n. 1 gentle wind. 2 colloq. Quarrel. 3 esp. Us colloq. Easy task. —v. (-zing) (foll. By in, out, along, etc.) Colloq. Saunter casually. [probably spanish and portuguese briza] + +Breeze2 n. Small cinders. [french: related to *braise] + +Breeze-block n. Lightweight building block, esp. Of breeze mixed with sand and cement. + +Breezy adj. (-ier, -iest) 1 slightly windy. 2 colloq. Cheerful, light-hearted, casual. + +Bren n. (in full bren gun) lightweight quick-firing machine-gun. [brno in czechoslovakia, enfield in england] +Brent n. (in full brent-goose) small migratory goose. [origin unknown] + +Brethren see *brother. + +Breton —n. 1 native of brittany. 2 celtic language of brittany. —adj. Of brittany, its people, or language. [french, = *briton] + +Breve n. 1 mus. Note twice the length of a semibreve. 2 mark ( ) indicating a short or unstressed vowel. [var. Of *brief] + +Breviary n. (pl. -ies) book containing the roman catholic daily office. [latin: related to *brief] + +Brevity n. 1 economy of expression; conciseness. 2 shortness (of time etc.). [anglo-french: related to *brief] + +Brew —v. 1 a make (beer etc.) By infusion, boiling, and fermentation. B make (tea etc.) By infusion. 2 undergo these processes. 3 gather force; threaten (storm is brewing). 4 concoct (a plan etc.). —n. 1 liquid or amount brewed; concoction. 2 process of brewing.  brew up make tea.  brewer n. [old english] + +Brewery n. (pl. -ies) factory for brewing beer etc. + +Brew-up n. Instance of making tea. + +Briar1 var. Of *brier1. + +Briar2 var. Of *brier2. + +Bribe —v. (-bing) (often foll. By to + infin.) Persuade to act improperly in one's favour by a gift of money etc. —n. Money or services offered in bribing.  bribery n. [french briber beg] + +Bric-à-brac n. (also bric-a-brac) cheap ornaments, trinkets, etc. [french] + +Brick —n. 1 a small usu. Rectangular block of fired or sun-dried clay used in building. B material of this. 2 child's toy block. 3 brick-shaped thing. 4 slang generous or loyal person. —v. (foll. By in, up) close or block with brickwork. —adj. 1 built of brick (brick wall). 2 (also brick-red) dull red. [low german or dutch] + +Brickbat n. 1 piece of brick, esp. As a missile. 2 insult. + +Brickie n. Slang bricklayer. + +Bricklayer n. Person who builds with bricks, esp. For a living.  bricklaying n. + +Brickwork n. Building or work in brick. + +Brickyard n. Place where bricks are made. + +Bridal adj. Of a bride or wedding. [old english] + +Bride n. Woman on her wedding day and during the period just before and after it. [old english] + +Bridegroom n. Man on his wedding day and during the period just before and after it. [old english] + +Bridesmaid n. Girl or unmarried woman attending a bride at her wedding. + +Bridge1 —n. 1 a structure providing a way across a river, road, railway, etc. B thing joining or connecting. 2 operational superstructure on a ship. 3 upper bony part of the nose. 4 piece of wood on a violin etc. Over which the strings are stretched. 5 = *bridgework. —v. (-ging) 1 be or make a bridge over. 2 reduce (a gap, deficiency, etc.). [old english] + +Bridge2 n. Card-game derived from whist. [origin unknown] + +Bridgehead n. Fortified position held on the enemy's side of a river etc. + +Bridge roll n. Small soft bread roll. + +Bridgework n. Dentistry dental structure covering a gap, joined to the teeth on either side. + +Bridging loan n. Loan to cover the interval between buying a house etc. And selling another. + +Bridle —n. 1 headgear for controlling a horse, including reins and bit. 2 restraining thing. —v. (-ling) 1 put a bridle on. 2 curb, restrain. 3 (often foll. By up) express anger, offence, etc., esp. By throwing up the head and drawing in the chin. [old english] + +Bridle-path n. (also bridle-way) rough path for riders or walkers. + +Brie n. A kind of soft cheese. [brie in n. France] + +Brief —adj. 1 of short duration. 2 concise; abrupt, brusque. 3 scanty (brief skirt). —n. 1 (in pl.) Short pants. 2 a summary of a case drawn up for counsel. B piece of work for a barrister. 3 instructions for a task. 4 papal letter on discipline. —v. 1 instruct (a barrister) by brief. 2 inform or instruct in advance.  hold a brief for argue in favour of. In brief to sum up.  briefly adv. Briefness n. [latin brevis short] + +Briefcase n. Flat document case. +Brier1 n. (also briar) wild rose or other prickly bush. [old english] + +Brier2 n. (also briar) 1 white heath of s. Europe. 2 tobacco pipe made from its root. [french bruyère] + +Brig. Abbr. Brigadier. + +Brig1 n. Two-masted square-rigged ship. [abbreviation of *brigantine] + +Brig2 n. Scot. & n.engl. Bridge. [var. Of *bridge1] + +Brigade n. 1 military unit, usu. Three battalions, as part of a division. 2 group organized for a special purpose. [italian briga strife] + +Brigadier n. 1 officer commanding a brigade. 2 staff officer of similar standing. + +Brigand n. Member of a robber band; bandit.  brigandage n. [italian brigante: related to *brigade] + +Brigantine n. Two-masted ship with a square-rigged foremast and a fore-and-aft rigged mainmast. [french or italian: related to *brigand] + +Bright —adj. 1 emitting or reflecting much light; shining. 2 intense, vivid. 3 clever. 4 cheerful. —adv. Esp. Poet. Brightly.  brightly adv. Brightness n. [old english] + +Brighten v. Make or become brighter. + +Bright's disease n. Kidney disease. [bright, name of a physician] + +Brill1 n. (pl. Same) european flat-fish. [origin unknown] + +Brill2 adj. Colloq. = *brilliant adj. 4. [abbreviation] + +Brilliant —adj. 1 very bright; sparkling. 2 outstandingly talented. 3 showy. 4 colloq. Excellent. —n. Diamond of the finest cut with many facets.  brilliance n. Brilliantly adv. [french briller shine, from italian] + +Brilliantine n. Dressing for making the hair glossy. [french: related to *brilliant] + +Brim —n. 1 edge or lip of a vessel. 2 projecting edge of a hat. —v. (-mm-) fill or be full to the brim.  brim over overflow. [origin unknown] + +Brim-full adj. (also brimful) filled to the brim. + +Brimstone n. Archaic sulphur. [from *burn1, *stone] + +Brindled adj. (esp. Of domestic animals) brown or tawny with streaks of another colour. [scandinavian] + +Brine n. 1 water saturated or strongly impregnated with salt. 2 sea water. [old english] + +Bring v. (past and past part. Brought) 1 come carrying; lead, accompany; convey. 2 cause or result in (war brings misery). 3 be sold for; produce as income. 4 a prefer (a charge). B initiate (legal action). 5 cause to become or to reach a state (brings me alive; cannot bring myself to agree). 6 adduce (evidence, an argument, etc.).  bring about cause to happen. Bring back call to mind. Bring down 1 cause to fall. 2 lower (a price). Bring forth 1 give birth to. 2 cause. Bring forward 1 move to an earlier time. 2 transfer from the previous page or account. 3 draw attention to. Bring home to cause to realize fully. Bring the house down receive rapturous applause. Bring in 1 introduce. 2 yield as income or profit. Bring off achieve successfully. Bring on cause to happen, appear, or make progress. Bring out 1 emphasize; make evident. 2 publish. Bring over convert to one's own side. Bring round 1 restore to consciousness. 2 persuade. Bring through aid (a person) through adversity, esp. Illness. Bring to restore to consciousness (brought him to). Bring up 1 rear (a child). 2 vomit. 3 call attention to. 4 (absol.) Stop suddenly. [old english] + +Bring-and-buy sale n. Charity sale at which people bring items for sale and buy those brought by others. + +Brink n. 1 extreme edge of land before a precipice, river, etc. 2 furthest point before danger, discovery, etc.  on the brink of about to experience or suffer; in imminent danger of. [old norse] + +Brinkmanship n. Pursuit (esp. Habitual) of danger etc. To the brink of catastrophe. + +Briny —adj. (-ier, -iest) of brine or the sea; salty. —n. (prec. By the) slang the sea. + +Briquette n. Block of compressed coal-dust as fuel. [french diminutive: related to *brick] + +Brisk —adj. 1 quick, lively, keen (brisk pace, trade). 2 enlivening (brisk wind). —v. (often foll. By up) make or grow brisk.  briskly adv. Briskness n. [probably french *brusque] +Brisket n. Animal's breast, esp. As a joint of meat. [french] + +Brisling n. Small herring or sprat. [norwegian and danish] + +Bristle —n. Short stiff hair, esp. One on an animal's back, used in brushes. —v. (-ling) 1 a (of hair) stand upright. B make (hair) do this. 2 show irritation. 3 (usu. Foll. By with) be covered or abundant (in).  bristly adj. (-ier, -iest). [old english] + +Brit n. Colloq. British person. [abbreviation] + +Britannia n. Personification of britain, esp. As a helmeted woman with shield and trident. [latin] + +Britannia metal n. Silvery alloy of tin, antimony, and copper. + +Britannic adj. (esp. In his or her britannic majesty) of britain. + +Briticism n. Idiom used only in britain. [after gallicism] + +British —adj. Of great britain, the british commonwealth, or their people. —n. (prec. By the; treated as pl.) The british people. [old english] + +British english n. English as used in great britain. + +British legion n. = *royal british legion. + +British summer time n. = *summer time. + +British thermal unit n. Amount of heat needed to raise 1 lb of water through one degree fahrenheit, equivalent to 1.055 x 103 joules. + +Briton n. 1 inhabitant of s. Britain before the roman conquest. 2 native or inhabitant of great britain. [latin britto -onis] + +Brittle adj. Hard and fragile; apt to break.  brittlely adv. (also brittly). [old english] + +Brittle-bone disease n. = *osteoporosis. + +Broach —v. 1 raise for discussion. 2 pierce (a cask) to draw liquor. 3 open and start using. —n. 1 bit for boring. 2 roasting-spit. [latin broccus projecting] + +Broad —adj. 1 large in extent from one side to the other; wide. 2 in breadth (two metres broad). 3 extensive (broad acres). 4 full and clear (broad daylight). 5 explicit (broad hint). 6 general (broad intentions, facts). 7 tolerant, liberal (broad view). 8 coarse (broad humour). 9 markedly regional (broad scots). —n. 1 broad part (broad of the back). 2 us slang woman. 3 (the broads) large areas of water in e. Anglia, formed where rivers widen.  broadly adv. Broadness n. [old english] + +Broad bean n. 1 bean with large edible flat seeds. 2 one such seed. + +Broadcast —v. (past and past part. Broadcast) 1 transmit by radio or television. 2 take part in such a transmission. 3 scatter (seed etc.). 4 disseminate (information) widely. —n. Radio or television programme or transmission.  broadcaster n. Broadcasting n. + +Broadcloth n. Fine cloth of wool, cotton, or silk. + +Broaden v. Make or become broader. + +Broad gauge n. Railway track with a wider than standard gauge. + +Broad-leaved adj. (of a tree) deciduous and hard-timbered. + +Broadloom adj. (esp. Of carpet) woven in broad widths. + +Broad-minded adj. Tolerant, liberal. + +Broadsheet n. 1 large-sized newspaper. 2 large sheet of paper printed on one side only. + +Broadside n. 1 vigorous verbal attack. 2 simultaneous firing of all guns from one side of a ship. 3 side of a ship above the water between the bow and quarter.  broadside on sideways on. + +Broadsword n. Broad-bladed sword, for cutting rather than thrusting. + +Brocade —n. Rich fabric woven with a raised pattern. —v. (-ding) weave in this way. [italian brocco twisted thread] + +Broccoli n. Brassica with greenish flower-heads. [italian] + +Brochure n. Pamphlet or booklet, esp. With descriptive information. [french brocher stitch] + +Broderie anglaise n. Open embroidery on white linen etc. [french, = english embroidery] + +Brogue1 n. 1 strong outdoor shoe with ornamental perforations. 2 rough shoe of untanned leather. [gaelic and irish brog from old norse] + +Brogue2 n. Marked accent, esp. Irish. [perhaps related to *brogue1] + +Broil v. Esp. Us 1 grill (meat). 2 make or become very hot, esp. From the sun. [french bruler burn] +Broiler n. Young chicken for broiling or roasting. + +Broke past of *break. —predic. Adj. Colloq. Having no money. + +Broken past part. Of *break. —adj. 1 having been broken. 2 reduced to despair; beaten. 3 (of language) badly spoken, esp. By a foreigner. 4 interrupted (broken sleep). + +Broken-down adj. 1 worn out by age, use, etc. 2 not functioning. + +Broken-hearted adj. Overwhelmed with grief. + +Broken home n. Family disrupted by divorce or separation. + +Broker n. 1 agent; middleman. 2 member of the stock exchange dealing in stocks and shares. 3 official appointed to sell or appraise distrained goods.  broking n. [anglo-french] + +Usage in sense 2, brokers have officially been called broker-dealers in the uk since oct. 1986, and entitled to act as agents and principals in share dealings. + +Brokerage n. Broker's fee or commission. + +Brolly n. (pl. -ies) colloq. Umbrella. [abbreviation] + +Bromide n. 1 any binary compound of bromine. 2 trite remark. 3 reproduction or proof on paper coated with silver bromide emulsion. + +Bromine n. Poisonous liquid element with a choking smell. [greek bromos stink] + +Bronchial adj. Of the bronchi (see *bronchus) or of the smaller tubes into which they divide. + +Bronchitis n. Inflammation of the mucous membrane in the bronchial tubes. + +Bronchus n. (pl. -chi) either of the two main divisions of the windpipe. [latin from greek] + +Bronco n. (pl. -s) wild or half-tamed horse of the western us. [spanish, = rough] + +Brontosaurus n. (pl. -ruses) large plant-eating dinosaur with a long whiplike tail. [greek bronte thunder, sauros lizard] + +Bronze —n. 1 alloy of copper and tin. 2 its brownish colour. 3 thing of bronze, esp. A sculpture. —adj. Made of or coloured like bronze. —v. (-zing) make or become brown; tan. [french from italian] + +Bronze age n. Archaeol. Period when weapons and tools were usu. Made of bronze. + +Bronze medal n. Medal, usu. Awarded as third prize. + +Brooch n. Ornamental hinged pin. [french broche: related to *broach] + +Brood —n. 1 young of esp. A bird born or hatched at one time. 2 colloq. Children in a family. —v. 1 worry or ponder (esp. Resentfully). 2 (of a bird) sit on eggs to hatch them. [old english] + +Broody adj. (-ier, -iest) 1 (of a hen) wanting to brood. 2 sullenly thoughtful. 3 colloq. (of a woman) wanting pregnancy. + +Brook1 n. Small stream. [old english] + +Brook2 v. (usu. With neg.) Literary tolerate, allow. [old english] + +Broom n. 1 long-handled brush for sweeping. 2 shrub with bright yellow flowers. [old english] + +Broomstick n. Handle of a broom. + +Bros. Abbr. Brothers (esp. In the name of a firm). + +Broth n. Thin soup of meat or fish stock. [old english] + +Brothel n. Premises for prostitution. [originally = worthless fellow, from old english] + +Brother n. 1 man or boy in relation to his siblings. 2 close male friend or associate. 3 (pl. Also brethren) a member of a male religious order, esp. A monk. B fellow christian etc. 4 fellow human being.  brotherly adj. [old english] + +Brother german see *german. + +Brotherhood n. 1 relationship between brothers. 2 association of people with a common interest. 3 community of feeling between human beings. + +Brother-in-law n. (pl. Brothers-in-law) 1 one's wife's or husband's brother. 2 one's sister's or sister-in-law's husband. + +Brought past and past part. Of *bring. + +Brouhaha n. Commotion; sensation. [french] + +Brow n. 1 forehead. 2 eyebrow. 3 summit of a hill etc. 4 edge of a cliff etc. [old english] + +Browbeat v. (past -beat; past part. -beaten) intimidate, bully. + +Brown —adj. 1 having the colour of dark wood or rich soil. 2 dark-skinned or suntanned. 3 (of bread) made from wholemeal or wheatmeal flour. —n. 1 brown colour or pigment. 2 brown clothes or material. —v. Make or become brown.  browned off colloq. Fed up, disheartened. +Brown bear n. Large n. American brown bear. + +Brown coal n. = *lignite. + +Brownie n. 1 (in full brownie guide) junior guide. 2 (brownie) small square of chocolate cake with nuts. 3 (brownie) benevolent elf. + +Brownie point n. Colloq. Notional mark awarded for good conduct etc. + +Browning n. Additive to colour gravy. + +Brown owl n. 1 any of various owls, esp. The tawny owl. 2 (brown owl) adult leader of brownie guides. + +Brown rice n. Unpolished rice. + +Brown sugar n. Unrefined or partially refined sugar. + +Browse —v. (-sing) 1 read desultorily or look over goods for sale. 2 (often foll. By on) feed on leaves, twigs, etc. —n. 1 twigs, shoots, etc. As fodder. 2 act of browsing. [french brost bud] + +Brucellosis n. Bacterial disease, esp. Of cattle. [sir d. Bruce, name of a physician] + +Bruise —n. 1 discolouration of the skin caused esp. By a blow. 2 similar damage on a fruit etc. —v. (-sing) 1 a inflict a bruise on. B hurt mentally. 2 be susceptible to bruising. [originally = crush, from old english] + +Bruiser n. Colloq. 1 large tough-looking person. 2 professional boxer. + +Bruit v. (often foll. By abroad, about) spread (a report or rumour). [french, = noise] + +Brunch n. Combined breakfast and lunch. [portmanteau word] + +Brunette n. Woman with dark brown hair. [french diminutive] + +Brunt n. Chief impact of an attack, task, etc. (esp. Bear the brunt of). [origin unknown] + +Brush —n. 1 implement with bristles, hair, wire, etc. Set into a block, for cleaning, painting, arranging the hair, etc. 2 act of brushing. 3 (usu. Foll. By with) short esp. Unpleasant encounter. 4 fox's bushy tail. 5 piece of carbon or metal as an electrical contact esp. With a moving part. 6 = *brushwood 2. —v. 1 sweep, scrub, treat, or tidy with a brush. 2 remove or apply with a brush. 3 graze in passing.  brush aside dismiss curtly or lightly. Brush off dismiss abruptly. Brush up 1 clean up or smarten. 2 revise (a subject). [french] + +Brush-off n. Abrupt dismissal. + +Brush-up n. Act of brushing up. + +Brushwood n. 1 undergrowth, thicket. 2 cut or broken twigs etc. + +Brushwork n. 1 use of the brush in painting. 2 painter's style in this. + +Brusque adj. Abrupt or offhand.  brusquely adv. Brusqueness n. [italian brusco sour] + +Brussels sprout n. 1 brassica with small cabbage-like buds on a stem. 2 such a bud. [brussels in belgium] + +Brutal adj. 1 savagely cruel. 2 harsh, merciless.  brutality n. (pl. -ies). Brutally adv. [french: related to *brute] + +Brutalize v. (also -ise) (-zing or -sing) 1 make brutal. 2 treat brutally. + +Brute —n. 1 a brutal or violent person. B colloq. Unpleasant person or difficult thing. 2 animal. —attrib. Adj. 1 unthinking (brute force). 2 cruel; stupid; sensual.  brutish adj. Brutishly adv. Brutishness n. [latin brutus stupid] + +Bryony n. (pl. -ies) climbing plant with red berries. [latin from greek] + +Bs abbr. 1 bachelor of surgery. 2 british standard(s). + +B.sc. Abbr. Bachelor of science. + +Bse abbr. Bovine spongiform encephalopathy, a usu. Fatal cattle disease. + +Bsi abbr. British standards institution. + +Bst abbr. 1 british summer time. 2 bovine somatotrophin, a growth hormone added to cattle-feed to boost milk production. + +Bt abbr. British telecom. + +Bt. Abbr. Baronet. + +B.th.u. Abbr. (also b.t.u., btu, b.th.u.) British thermal unit(s). + +Bubble —n. 1 a thin sphere of liquid enclosing air etc. B air-filled cavity in a liquid or solidified liquid. 2 transparent domed canopy. 3 visionary or unrealistic project. —v. (-ling) 1 rise in or send up bubbles. 2 make the sound of boiling.  bubble over (often foll. By with) be exuberant. [imitative] +Bubble and squeak n. Cooked cabbage etc. Fried with cooked potatoes. + +Bubble bath n. Foaming preparation for adding to bath water. + +Bubble car n. Small domed car. + +Bubble gum n. Chewing-gum that can be blown into bubbles. + +Bubbly —adj. (-ier, -iest) 1 having or like bubbles. 2 exuberant. —n. Colloq. Champagne. + +Bubo n. (pl. -es) inflamed swelling in the armpit or groin. [greek boubon groin] + +Bubonic plague n. Contagious disease with buboes. + +Buccaneer n. 1 pirate. 2 unscrupulous adventurer.  buccaneering n. & adj. [french] + +Buck1 —n. 1 male deer, hare, rabbit, etc. 2 archaic dandy. 3 (attrib.) Slang male. —v. 1 (of a horse) jump upwards with its back arched. 2 (usu. Foll. By off) throw (a rider) in this way. 3 (usu. Foll. By up) colloq. A cheer up. B hurry up; make an effort. [old english] + +Buck2 n. Us slang dollar. [origin unknown] + +Buck3 n. Slang (in poker) article placed before the next dealer.  pass the buck colloq. Shift responsibility (to another). [origin unknown] + +Bucket —n. 1 a round open container with a handle, for carrying or drawing water etc. B amount contained in this. 2 (in pl.) Colloq. Large quantities, esp. Of rain or tears. 3 scoop in a water wheel, dredger, etc. —v. (-t-) colloq. 1 (often foll. By down) (esp. Of rain) pour heavily. 2 (often foll. By along) move or drive fast or bumpily. [anglo-french] + +Bucket seat n. Seat with a rounded back for one person, esp. In a car. + +Bucket-shop n. 1 unregistered broking agency. 2 colloq. Travel agency specializing in cheap air tickets. + +Buckle —n. Clasp with a hinged pin for securing a belt, strap, etc. —v. (-ling) 1 (often foll. By up, on, etc.) Fasten with a buckle. 2 (often foll. By up) (cause to) crumple under pressure.  buckle down make a determined effort. [latin buccula cheek-strap] + +Buckler n. Hist. Small round shield. + +Buckram n. Coarse linen etc. Stiffened with paste etc. [french boquerant] + +Buck's fizz n. Cocktail of champagne and orange juice. [buck's club in london] + +Buckshee adj. & adv. Slang free of charge. [corruption of *baksheesh] + +Buckshot n. Coarse lead shot. + +Buckskin n. 1 leather from a buck's skin. 2 thick smooth cotton or woollen cloth. + +Buckthorn n. Thorny shrub with berries formerly used as a purgative. + +Buck-tooth n. Upper projecting tooth. + +Buckwheat n. Seed of a plant related to rhubarb, used to make flour, or as an alternative to rice. [dutch, = beech-wheat] + +Bucolic —adj. Of shepherds; rustic, pastoral. —n. (usu. In pl.) Pastoral poem or poetry. [greek boukolos herdsman] + +Bud —n. 1 a knoblike shoot from which a stem, leaf, or flower develops. B flower or leaf not fully open. 2 asexual outgrowth from an organism separating to form a new individual. —v. (-dd-) 1 form buds. 2 begin to grow or develop (budding artist). 3 graft a bud of (a plant) on to another. [origin unknown] + +Buddha n. 1 title of the indian philosopher gautama (5th c. Bc) and his successors. 2 sculpture etc. Of buddha. [sanskrit, = enlightened] + +Buddhism n. Asian religion or philosophy founded by gautama buddha.  buddhist n. & adj. + +Buddleia n. Shrub with fragrant flowers attractive to butterflies. [buddle, name of a botanist] + +Buddy —n. (pl. -ies) esp. Us colloq. Friend or mate. [perhaps from *brother] + +Budge v. (-ging) (usu. With neg.) 1 move slightly. 2 (cause to) change an opinion.  budge up (or over) make room for another person by moving. [french bouger] + +Budgerigar n. Small parrot, often kept as a cage-bird. [aboriginal] +Budget —n. 1 amount of money needed or available. 2 a (the budget) government's annual estimate or plan of revenue and expenditure. B similar estimate by a company etc. 3 (attrib.) Inexpensive. —v. (-t-) (often foll. By for) allow or arrange for in a budget.  budgetary adj. [latin bulga bag] + +Budgie n. Colloq. = *budgerigar. [abbreviation] + +Buff —adj. Of a yellowish beige colour (buff envelope). —n. 1 this colour. 2 (in comb.) Colloq. Enthusiast (railway buff). 3 velvety dull-yellow ox-leather. —v. 1 polish (metal etc.). 2 make (leather) velvety.  in the buff colloq. Naked. [originally = buffalo, from french buffle] + +Buffalo n. (pl. Same or -es) 1 wild ox of africa or asia. 2 n. American bison. [greek boubalos ox] + +Buffer1 n. 1 thing that deadens impact, esp. A device on a train or at the end of a track. 2 substance that maintains the constant acidity of a solution. 3 computing temporary memory area or queue for data. [imitative] + +Buffer2 n. Slang silly or incompetent old man. [perhaps from *buffer1] + +Buffer state n. Small state between two larger ones, regarded as reducing friction. + +Buffet1 n. 1 room or counter where refreshments are sold. 2 self-service meal of several dishes set out at once. 3 also sideboard or recessed cupboard. [french, = stool] + +Buffet2 —v. (-t-) 1 strike repeatedly. 2 contend with (waves etc.). —n. 1 blow, esp. Of the hand. 2 shock. [french diminutive of bufe blow] + +Buffet car n. Railway coach serving refreshments. + +Buffoon n. Clownish or stupid person.  buffoonery n. [latin buffo clown] + +Bug —n. 1 a any of various insects with mouthparts modified for piercing and sucking. B esp. Us small insect. 2 slang virus; infection. 3 slang concealed microphone. 4 slang error in a computer program or system etc. 5 slang obsession, enthusiasm, etc. —v. (-gg-) 1 slang conceal a microphone in. 2 slang annoy. [origin unknown] + +Bugbear n. 1 cause of annoyance. 2 object of baseless fear. [bug = bogey] + +Bugger coarse slang (except in sense 2 of n. And 3 of v.) —n. 1 a unpleasant or awkward person or thing. B person of a specified kind (clever bugger!). 2 person who commits buggery. —v. 1 as an exclamation of annoyance (bugger it!). 2 (often foll. By up) a ruin; spoil. B exhaust. 3 commit buggery with. —int. Expressing annoyance.  bugger-all nothing. Bugger about (or around) (often foll. By with) mess about. Bugger off (often in imper.) Go away. [latin bulgarus bulgarian heretic] + +Buggery n. 1 anal intercourse. 2 = *bestiality 2. + +Buggy n. (pl. -ies) 1 small, sturdy, esp. Open, motor vehicle. 2 lightweight push-chair. 3 light, horse-drawn vehicle for one or two people. [origin unknown] + +Bugle —n. Brass military instrument like a small trumpet. —v. (-ling) 1 sound a bugle. 2 sound (a call etc.) On a bugle.  bugler n. [latin buculus young bull] + +Bugloss n. Plant with bright blue tubular flowers, related to borage. [french buglosse from greek, = ox-tongued] + +Build —v. (past and past part. Built) 1 construct or cause to be constructed. 2 a (often foll. By up) establish or develop (built the business up). B (often foll. By on) base (hopes, theories, etc.). 3 (as built adj.) Of specified build (sturdily built). —n. 1 physical proportions (slim build). 2 style of construction; make.  build in incorporate. Build on add (an extension etc.). Build up 1 increase in size or strength. 2 praise; boost. 3 gradually become established. [old english] + +Builder n. Person who builds, esp. A building contractor. + +Building n. 1 permanent fixed structure e.g. A house, factory, or stable. 2 constructing of these. + +Building society n. Public finance company paying interest to investors and lending capital for mortgages etc. + +Build-up n. 1 favourable advance publicity. 2 gradual approach to a climax. 3 accumulation or increase. + +Built past and past part. Of *build. + +Built-in adj. Integral. +Built-up adj. 1 (of a locality) densely developed. 2 increased in height etc. By addition. 3 made of prefabricated parts. + +Bulb n. 1 a globular base of the stem of some plants, sending roots downwards and leaves upwards. B plant grown from this, e.g. A daffodil. 2 = *light-bulb. 3 object or part shaped like a bulb. [latin bulbus from greek, = onion] + +Bulbous adj. Bulb-shaped; fat or bulging. + +Bulge —n. 1 irregular swelling. 2 colloq. Temporary increase (baby bulge). —v. (-ging) swell outwards.  bulgy adj. [latin bulga bag] + +Bulimia n. (in full bulimia nervosa) disorder in which overeating alternates with self-induced vomiting, fasting, etc. [greek bous ox, limos hunger] + +Bulk —n. 1 a size; magnitude (esp. Large). B large mass, body, etc. C large quantity. 2 (treated as pl. & usu. Prec. By the) greater part or number (the bulk of the applicants are women). 3 roughage. —v. 1 seem (in size or importance) (bulks large). 2 make (a book etc.) Thicker etc.  in bulk in large quantities. [old norse] + +Bulk buying n. Buying in quantity at a discount. + +Bulkhead n. Upright partition in a ship, aircraft, etc. + +Bulky adj. (-ier, -iest) awkwardly large.  bulkiness n. + +Bull1 n. 1 a uncastrated male bovine animal. B male of the whale, elephant, etc. 2 (the bull) zodiacal sign or constellation taurus. 3 bull's-eye of a target. 4 person who buys shares hoping to sell them at a profit.  take the bull by the horns face danger or a challenge boldly.  bullish adj. [old norse] + +Bull2 n. Papal edict. [latin bulla seal] + +Bull3 n. 1 slang a nonsense. B unnecessary routine tasks. 2 absurdly illogical statement. [origin unknown] + +Bulldog n. 1 short-haired heavy-jowled sturdy dog. 2 tenacious and courageous person. + +Bulldog clip n. Strong sprung clip for papers. + +Bulldoze v. (-zing) 1 clear with a bulldozer. 2 colloq. A intimidate. B make (one's way) forcibly. + +Bulldozer n. Powerful tractor with a broad vertical blade at the front for clearing ground. + +Bullet n. Small pointed missile fired from a rifle, revolver, etc. [french diminutive of boule ball] + +Bulletin n. 1 short official news report. 2 society's regular list of information etc. [italian diminutive: related to *bull2] + +Bulletproof adj. Designed to protect from bullets. + +Bullfight n. Public baiting, and usu. Killing, of bulls.  bullfighter n. Bullfighting n. + +Bullfinch n. Pink and black finch. + +Bullfrog n. Large n. American frog with a booming croak. + +Bull-headed n. Obstinate, blundering. + +Bullion n. Gold or silver in bulk before coining, or valued by weight. [french: related to *boil1] + +Bullock n. Castrated male of domestic cattle. [old english diminutive of *bull1] + +Bullring n. Arena for bullfights. + +Bull's-eye n. 1 centre of a target. 2 hard minty sweet. 3 hemispherical ship's window. 4 small circular window. 5 a hemispherical lens. B lantern with this. 6 boss of glass in a blown glass sheet. + +Bullshit coarse slang —n. (often as int.) Nonsense; pretended knowledge. —v. (-tt-) talk nonsense or as if one has specialist knowledge (to).  bullshitter n. [from *bull3] + +Bull-terrier n. Cross between a bulldog and a terrier. + +Bully1 —n. (pl. -ies) person coercing others by fear. —v. (-ies, -ied) persecute or oppress by force or threats. —int. (foll. By for) often iron. Expressing approval (bully for you). [dutch] + +Bully2 (in full bully off) —n. (pl. -ies) start of play in hockey in which two opponents strike each other's sticks three times and then go for the ball. —v. (-ies, -ied) start play in this way. [origin unknown] + +Bully3 n. (in full bully beef) corned beef. [french: related to *boil1] + +Bulrush n. 1 a kind of tall rush. 2 bibl. Papyrus. [perhaps from *bull1 = coarse + *rush2] + +Bulwark n. 1 defensive wall, esp. Of earth. 2 protecting person or thing. 3 (usu. In pl.) Ship's side above deck. [low german or dutch] + +Bum1 n. Slang buttocks. [origin uncertain] +Bum2 us slang —n. Loafer or tramp; dissolute person. —v. (-mm-) 1 (often foll. By around) loaf or wander around. 2 cadge. —attrib. Adj. Of poor quality. [german bummler loafer] + +Bum-bag n. Slang small pouch worn on a belt round the waist or hips. + +Bumble v. (-ling) 1 (foll. By on) speak in a rambling way. 2 (often as bumbling adj.) Be inept; blunder. [from *boom1] + +Bumble-bee n. Large bee with a loud hum. + +Bumf n. Colloq. Usu. Derog. Papers, documents. [abbreviation of bum-fodder = toilet-paper] + +Bump —n. 1 dull-sounding blow or collision. 2 swelling or dent so caused. 3 uneven patch on a road etc. 4 prominence on the skull thought to indicate a mental faculty. —v. 1 a hit or come against with a bump. B (often foll. By against, into) collide. 2 (often foll. By against, on) hurt or damage by striking (bumped my head, the car). 3 (usu. Foll. By along) move along with jolts. —adv. With a bump; suddenly; violently.  bump into colloq. Meet by chance. Bump off slang murder. Bump up colloq. Increase (prices etc.).  bumpy adj. (-ier, -iest). [imitative] + +Bumper n. 1 horizontal bar at the front or back of a motor vehicle, reducing damage in a collision. 2 (usu. Attrib.) Unusually large or fine example (bumper crop). 3 cricket ball rising high after pitching. 4 brim-full glass. + +Bumper car n. = *dodgem. + +Bumpkin n. Rustic or socially inept person. [dutch] + +Bumptious adj. Offensively self-assertive or conceited. [from *bump, after fractious] + +Bun n. 1 small sweet bread roll or cake, often with dried fruit. 2 hair coiled and pinned to the head. [origin unknown] + +Bunch —n. 1 things gathered together. 2 collection; lot (best of the bunch). 3 colloq. Group; gang. —v. 1 make into a bunch; gather into close folds. 2 form into a group or crowd. [origin unknown] + +Bundle —n. 1 things tied or fastened together. 2 set of nerve fibres etc. 3 slang large amount of money. —v. (-ling) 1 (usu. Foll. By up) tie or make into a bundle. 2 (usu. Foll. By into) throw or move carelessly. 3 (usu. Foll. By out, off, away, etc.) Send away hurriedly.  be a bundle of nerves (or fun etc.) Be extremely nervous (or amusing etc.). Go a bundle on slang admire; like. [low german or dutch] + +Bun fight n. Slang tea party. + +Bung —n. Stopper, esp. For a cask. —v. 1 stop with a bung. 2 slang throw.  bunged up blocked up. [dutch] + +Bungalow n. One-storeyed house. [gujarati, = of bengal] + +Bungee n. (in full bungee cord, rope) elasticated cord or rope used for securing baggage or in bungee jumping. + +Bungee jumping n. Sport of jumping from a height while secured by a bungee from the ankles or a harness. + +Bungle —v. (-ling) 1 mismanage or fail at (a task). 2 work badly or clumsily. —n. Bungled attempt or work. [imitative] + +Bunion n. Swelling on the foot, esp. On the big toe. [french] + +Bunk1 n. Shelflike bed against a wall, esp. In a ship. [origin unknown] + +Bunk2 slang —v. (often foll. By off) play truant (from). —n. (in do a bunk) leave or abscond hurriedly. [origin unknown] + +Bunk3 n. Slang nonsense, humbug. [shortening of *bunkum] + +Bunk-bed n. Each of two or more tiered beds forming a unit. + +Bunker n. 1 container for fuel. 2 reinforced underground shelter. 3 sandy hollow in a golf-course. [origin unknown] + +Bunkum n. Nonsense, humbug. [buncombe in us] + +Bunny n. (pl. -ies) 1 child's name for a rabbit. 2 (in full bunny girl) club hostess, waitress, etc., wearing rabbit ears and tail. [dial. Bun rabbit] + +Bunsen burner n. Small adjustable gas burner used in a laboratory. [bunsen, name of a chemist] + +Bunting1 n. Small bird related to the finches. [origin unknown] + +Bunting2 n. 1 flags and other decorations. 2 loosely-woven fabric for these. [origin unknown] +Bunting2 n. 1 flags and other decorations. 2 loosely-woven fabric for these. [origin unknown] + +Buoy —n. 1 anchored float as a navigation mark etc. 2 lifebuoy. —v. 1 (usu. Foll. By up) a keep afloat. B encourage, uplift. 2 (often foll. By out) mark with a buoy. [dutch, perhaps from latin boia collar] + +Buoyant adj. 1 able or apt to keep afloat. 2 resilient; exuberant.  buoyancy n. [french or spanish: related to *buoy] + +Bupa abbr. British united provident association, a private health insurance organization. + +Bur n. 1 a prickly clinging seed-case or flower-head. B any plant having these. 2 clinging person. 3 var. Of *burr n. 2. [scandinavian] + +Burble v. 1 talk ramblingly. 2 make a bubbling sound. [imitative] + +Burbot n. (pl. Same) eel-like freshwater fish. [french] + +Burden —n. 1 load, esp. A heavy one. 2 oppressive duty, expense, emotion, etc. 3 bearing of loads (beast of burden). 4 a refrain of a song. B chief theme of a speech, book, etc. —v. Load with a burden; oppress.  burdensome adj. [old english: related to *birth] + +Burden of proof n. Obligation to prove one's case. + +Burdock n. Plant with prickly flowers and docklike leaves. [from *bur, *dock3] + +Bureau n. (pl. -x or -s) 1 a desk with drawers and usu. An angled hinged top. B us chest of drawers. 2 a office or department for specific business. B government department. [french, originally = baize] + +Bureaucracy n. (pl. -ies) 1 a government by central administration. B state etc. So governed. 2 government officials, esp. Regarded as oppressive and inflexible. 3 conduct typical of these. + +Bureaucrat n. 1 official in a bureaucracy. 2 inflexible administrator.  bureaucratic adj. Bureaucratically adv. + +Buret n. (brit. Burette) graduated glass tube with an end-tap for measuring liquid in chemical analysis. [french] + +Burette n. (us buret) graduated glass tube with an end-tap for measuring liquid in chemical analysis. [french] + +Burgeon v. Literary grow rapidly; flourish. [latin burra wool] + +Burger n. Colloq. Hamburger. [abbreviation] + +Burgher n. Citizen of a continental town. [german or dutch] + +Burglar n. Person who commits burglary. [anglo-french] + +Burglary n. (pl. -ies) 1 illegal entry with intent to commit theft, do bodily harm, or do damage. 2 instance of this. + +Usage before 1968 in english law, burglary was a crime under statute and common law; since 1968 it has been a statutory crime only; cf. *housebreaking. + +Burgle v. (-ling) commit burglary (on). + +Burgomaster n. Mayor of a dutch or flemish town. [dutch] + +Burgundy n. (pl. -ies) 1 (also burgundy) a red or white wine from burgundy in e. France. B hist. Similar wine from elsewhere. 2 dark red colour of this. + +Burial n. 1 a burying of a corpse. B funeral. 2 archaeol. Grave or its remains. + +Burin n. 1 tool for engraving copper or wood. 2 archaeol. Chisel-pointed flint tool. [french] + +Burk var. Of *berk. + +Burlesque —n. 1 a comic imitation, parody. B this as a genre. 2 us variety show, esp. With striptease. —adj. Of or using burlesque. —v. (-ques, -qued, -quing) parody. [italian burla mockery] + +Burly adj. (-ier, -iest) large and sturdy. [old english] + +Burn1 —v. (past and past part. Burnt or burned) 1 (cause to) be consumed or destroyed by fire. 2 blaze or glow with fire. 3 (cause to) be injured or damaged by fire, heat, radiation, acid, etc. 4 use or be used as fuel etc. 5 char in cooking. 6 produce (a hole, mark, etc.) By fire or heat. 7 a heat (clay, chalk, etc.). B harden (bricks) by fire. 8 colour, tan, or parch with heat or light. 9 (be) put to death by fire. 10 cauterize, brand. 11 make, be, or feel hot, esp. Painfully. 12 (often foll. By with) (cause to) feel great emotion or passion (burn with shame). 13 slang drive fast. —n. Mark or injury caused by burning.  burn one's boats (or bridges) commit oneself irrevocably. Burn the candle at both ends work etc. Excessively. +Burn2 n. Scot. Brook. [old english] + +Burner n. Part of a gas cooker, lamp, etc. That emits the flame. + +Burning adj. 1 ardent, intense. 2 hotly discussed, vital, urgent. + +Burning-glass n. Lens for concentrating the sun's rays to produce a flame. + +Burnish v. Polish by rubbing. [french brunir from brun brown] + +Burnous n. Arab or moorish hooded cloak. [arabic from greek] + +Burn-out n. Exhaustion.  burnt-out adj. + +Burnt see *burn1. + +Burnt ochre n. (also burnt sienna or umber) pigment darkened by burning. + +Burnt offering n. Offering burnt on an altar as a sacrifice. + +Burp colloq. —v. 1 belch. 2 make (a baby) belch. —n. Belch. [imitative] + +Burr —n. 1 a whirring sound. B rough sounding of the letter r. 2 (also bur) a rough edge on metal or paper. B surgeon's or dentist's small drill. 3 var. Of *bur 1, 2. —v. Make a burr. [imitative] + +Burrow —n. Hole or tunnel dug by a rabbit etc. As a dwelling or shelter. —v. 1 make a burrow. 2 make (a hole, one's way, etc.) (as) by digging. 3 (foll. By into) investigate, search. [apparently var. Of *borough] + +Bursar n. 1 treasurer, esp. Of a college. 2 holder of a bursary. [medieval latin bursarius from bursa purse] + +Bursary n. (pl. -ies) grant, esp. A scholarship. [medieval latin: related to *bursar] + +Burst —v. (past and past part. Burst) 1 (cause to) break violently apart; open forcibly from within. 2 a (usu. Foll. By in, out) make one's way suddenly or by force. B break away from or through (river burst its banks). 3 be full to overflowing. 4 appear or come suddenly (burst into flame). 5 (foll. By into) suddenly begin to shed (tears) or utter. 6 seem about to burst from effort, excitement, etc. —n. 1 act of bursting. 2 sudden issue or outbreak (burst of flame; burst of applause). 3 sudden effort, spurt.  burst out 1 suddenly begin (burst out laughing). 2 exclaim. [old english] + +Burton n.  go for a burton slang be lost, destroyed, or killed. [origin uncertain] + +Bury v. (-ies, -ied) 1 place (a corpse) in the earth, a tomb, or the sea. 2 lose by death (buried two sons). 3 a put or hide under ground. B cover up; conceal. 4 consign to obscurity; forget. 5 (refl. Or passive) involve deeply (buried in a book).  bury the hatchet cease to quarrel. [old english] + +Bus —n. (pl. Buses or us busses) 1 large esp. Public passenger vehicle, usu. Travelling a fixed route. 2 colloq. Car, aeroplane, etc. —v. (buses or busses, bussed, bussing) 1 go by bus. 2 us transport by bus, esp. To aid racial integration. [abbreviation of *omnibus] + +Busby n. (pl. -ies) tall fur hat worn by hussars etc. [origin unknown] + +Bush1 n. 1 shrub or clump of shrubs. 2 thing like a bush, esp. A clump of hair. 3 (esp. In australia and africa) uncultivated area; woodland or forest. [old english and old norse] +Bush2 —n. 1 metal lining for a hole enclosing a revolving shaft etc. 2 sleeve giving electrical insulation. —v. Fit with a bush. [dutch busse box] + +Bush-baby n. (pl. -ies) small african lemur. + +Bushed adj. Colloq. Tired out. + +Bushel n. Measure of capacity for corn, fruit, etc. (8 gallons or 36.4 litres). [french] + +Bushfire n. Forest or scrub fire often spreading widely. + +Bushman n. 1 traveller or dweller in the australian bush. 2 (bushman) member or language of a s.african aboriginal people. + +Bush telegraph n. Rapid spreading of information, rumour, etc. + +Bushy adj. (-ier, -iest) 1 growing thickly like a bush. 2 having many bushes. + +Business n. 1 one's regular occupation or profession. 2 one's own concern. 3 task or duty. 4 serious work or activity. 5 (difficult or unpleasant) matter or affair. 6 thing(s) needing attention or discussion. 7 buying and selling; trade. 8 commercial firm.  mind one's own business not meddle. [old english: related to *busy] + +Businesslike adj. Efficient, systematic. + +Businessman n. (fem. Businesswoman) man or woman engaged in trade or commerce. + +Business park n. Area designed for commerce and light industry. + +Business person n. Businessman or businesswoman. + +Busk v. Perform esp. Music in the street etc. For tips.  busker n. [obsolete busk peddle] + +Bus lane n. Part of a road mainly for use by buses. + +Busman n. Bus driver. + +Busman's holiday n. Holiday spent in an activity similar to one's regular work. + +Bus shelter n. Shelter beside a bus-stop. + +Bus station n. Centre where buses depart and arrive. + +Bus-stop n. 1 regular stopping-place of a bus. 2 sign marking this. + +Bust1 n. 1 human chest, esp. Of a woman; bosom. 2 sculpture of a person's head, shoulders, and chest.  busty adj. (-ier, -iest). [french from italian] + +Bust2 —v. (past and past part. Busted or bust) colloq. 1 break, burst. 2 a raid, search. B arrest. —adj. (also busted) 1 broken, burst. 2 bankrupt.  bust up 1 collapse. 2 (esp. Of a married couple) separate. [var. Of *burst] + +Bustard n. Large land bird that can run very fast. [latin avis tarda slow bird (‘slow’ unexplained)] + +Buster n. Esp. Us slang mate; fellow. [from *bust2] + +Bustier n. Strapless close-fitting bodice. [french] + +Bustle1 —v. (-ling) 1 (often foll. By about) (cause to) move busily and energetically. 2 (as bustling adj.) Active, lively. —n. Excited or energetic activity. [perhaps from obsolete busk prepare] + +Bustle2 n. Hist. Padding worn under a skirt to puff it out behind. [origin unknown] + +Bust-up n. 1 quarrel. 2 collapse. + +Busy —adj. (-ier, -iest) 1 occupied or engaged in work etc. 2 full of activity; fussy (busy evening, street; busy design). 3 esp. Us (of a telephone line) engaged. —v. (-ies, -ied) (often refl.) Keep busy; occupy.  busily adv. [old english] + +Busybody n. (pl. -ies) meddlesome person. + +Busy lizzie n. Plant with abundant esp. Red, pink, or white flowers. + +But —conj. 1 a nevertheless, however (tried but failed). B on the other hand; on the contrary (i am old but you are young). 2 except, otherwise than (cannot choose but do it; what could we do but run?). 3 without the result that (it never rains but it pours). —prep. Except; apart from; other than (all cried but me; nothing but trouble). —adv. 1 only; no more than; only just (we can but try; is but a child; had but arrived). 2 in emphatic repetition; definitely (would see nobody, but nobody). —rel. Pron. Who not; that not (not a man but feels pity). —n. Objection (ifs and buts).  but for without the help or hindrance etc. Of (but for you i'd be rich). But one (or two etc.) Excluding one (or two etc.) From the number (next door but one; last but one). But then however (i won, but then i am older). [old english] +Butane n. Gaseous alkane hydrocarbon, used in liquefied form as fuel. [from *butyl] + +Butch adj. Slang masculine; tough-looking. [origin uncertain] + +Butcher —n. 1 a person who deals in meat. B slaughterer. 2 brutal murderer. —v. 1 slaughter or cut up (an animal) for food. 2 kill wantonly or cruelly. 3 colloq. Ruin through incompetence. [french boc *buck1] + +Butchery n. (pl. -ies) 1 needless or cruel slaughter (of people). 2 butcher's trade. + +Butler n. Principal manservant of a household. [french bouteille bottle] + +Butt1 —v. 1 push or strike with the head or horns. 2 (cause to) meet edge to edge. —n. 1 push with the head. 2 join of two edges.  butt in interrupt, meddle. [french from germanic] + +Butt2 n. 1 (often foll. By of) object of ridicule etc. 2 a mound behind a target. B (in pl.) Shooting-range. [french but goal] + +Butt3 n. 1 thicker end, esp. Of a tool or weapon. 2 stub of a cigarette etc. 3 esp. Us slang buttocks. [dutch] + +Butt4 n. Cask. [latin buttis] + +Butter —n. 1 solidified churned cream, used as a spread and in cooking. 2 substance of similar texture (peanut butter). —v. Spread, cook, or serve with butter.  butter up colloq. Flatter. [greek bouturon] + +Butter-bean n. 1 flat, dried, white lima bean. 2 yellow-podded bean. + +Butter-cream n. Mixture of butter, icing sugar, etc., as a filling etc. For a cake. + +Buttercup n. Wild plant with yellow cup-shaped flowers. + +Butterfat n. Essential fats of pure butter. + +Butter-fingers n. Colloq. Person prone to drop things. + +Butterfly n. (pl. -flies) 1 insect with four usu. Brightly coloured wings. 2 (in pl.) Colloq. Nervous sensation in the stomach. + +Butterfly nut n. A kind of wing-nut. + +Butterfly stroke n. Stroke in swimming, with arms raised and lifted forwards together. + +Butter-icing n. = *butter-cream. + +Buttermilk n. Liquid left after churning butter. + +Butter muslin n. Thin loosely-woven cloth, orig. For wrapping butter. + +Butterscotch n. Brittle toffee made from butter, brown sugar, etc. + +Buttery1 n. (pl. -ies) food store, esp. In a college; snack-bar etc. [related to *butt4] + +Buttery2 adj. Like or containing butter. + +Buttock n. 1 each of the two fleshy protuberances at the rear of the human trunk. 2 corresponding part of an animal. [butt ridge] + +Button —n. 1 small disc etc. Sewn to a garment as a fastener or worn as an ornament. 2 small round knob etc. Pressed to operate electronic equipment. —v. = button up 1.  button up 1 fasten with buttons. 2 colloq. Complete satisfactorily. 3 colloq. Be silent. [french from germanic] + +Buttonhole —n. 1 slit in cloth for a button. 2 flower etc. Worn in a lapel buttonhole. —v. (-ling) colloq. Accost and detain (a reluctant listener). + +Button mushroom n. Young unopened mushroom. + +Buttress —n. 1 projecting support built against a wall. 2 source of help etc. —v. (often foll. By up) 1 support with a buttress. 2 support by argument etc. (buttressed by facts). [related to *butt1] + +Butty n. (pl. -ies) n.engl. Sandwich. [from *butter] + +Butyl n. The univalent alkyl radical c4h9. [latin butyrum *butter] +Buxom adj. (esp. Of a woman) plump and rosy; busty. [earlier = pliant: related to *bow2] + +Buy —v. (buys, buying; past and past part. Bought) 1 a obtain for money etc. B serve to obtain (money can't buy happiness; the best that money can buy). 2 a procure by bribery etc. B bribe. 3 get by sacrifice etc. 4 slang believe in, accept. 5 be a buyer for a store etc. —n. Colloq. Purchase.  buy in buy a stock of. Buy into pay for a share in (an enterprise). Buy off pay to get rid of. Buy oneself out obtain one's release (esp. From the armed services) by payment. Buy out pay (a person) for ownership, an interest, etc. Buy up 1 buy as much as possible of. 2 absorb (a firm etc.) By purchase. [old english] + +Buyer n. 1 person employed to purchase stock for a large store etc. 2 purchaser, customer. + +Buyer's market n. (also buyers' market) trading conditions favourable to buyers. + +Buyout n. Purchase of a controlling share in a company etc. + +Buzz —n. 1 hum of a bee etc. 2 sound of a buzzer. 3 a low murmur as of conversation. B stir; hurried activity (buzz of excitement). 4 slang telephone call. 5 slang thrill. —v. 1 hum. 2 a summon with a buzzer. B slang telephone. 3 a (often foll. By about) move busily. B (of a place) appear busy or full of excitement.  buzz off slang go or hurry away. [imitative] + +Buzzard n. Large bird of the hawk family. [latin buteo falcon] + +Buzzer n. Electrical buzzing device as a signal. + +Buzz-word n. Colloq. Fashionable technical or specialist word; catchword. + +By —prep. 1 near, beside (sit by me; path by the river). 2 through the agency or means of (by proxy; poem by donne; by bus; by cheating; divide by two; killed by robbers). 3 not later than (by next week). 4 a past, beyond (drove by the church). B through; via (went by paris). 5 during (by day; by daylight). 6 to the extent of (missed by a foot; better by far). 7 according to; using as a standard or unit (judge by appearances; paid by the hour). 8 with the succession of (worse by the minute; day by day). 9 concerning; in respect of (did our duty by them; smith by name). 10 used in mild oaths (by god). 11 expressing dimensions of an area etc. (three feet by two). 12 avoiding, ignoring (passed us by). 13 inclining to (north by north-west). —adv. 1 near (sat by). 2 aside; in reserve (put £5 by). 3 past (marched by). —n. (pl. Byes) = *bye1.  by and by before long; eventually. By and large on the whole. By the by (or bye) incidentally. By oneself 1 a unaided. B unprompted. 2 alone. [old english] + +By- prefix subordinate, incidental (by-effect; byroad). + +Bye1 n. 1 cricket run scored from a ball that passes the batsman without being hit. 2 status of an unpaired competitor in a sport, who proceeds to the next round by default. [from *by as a noun] + +Bye2 int. (also bye-bye) colloq. = *goodbye. [abbreviation] + +By-election n. Election to fill a vacancy arising between general elections. + +Byelorussian (also belorussian) —n. Native or language of byelorussia in eastern europe. —adj. Of byelorussia, its people, or language. [russian from belyi white, russiya russia] + +Bygone —adj. Past, antiquated. —n. (in phr. Let bygones be bygones) forgive and forget past quarrels. + +By-law n. Regulation made by a local authority or corporation. [obsolete by town] + +Byline n. 1 line naming the writer of a newspaper article etc. 2 secondary line of work. 3 goal-line or touch-line. + +Bypass —n. 1 main road passing round a town or its centre. 2 a secondary channel or pipe etc. Used in emergencies. B alternative passage for the circulation of blood through the heart. —v. Avoid, go round (a town, difficulty, etc.). + +Byplay n. Secondary action, esp. In a play. + +By-product n. 1 incidental product made in the manufacture of something else. 2 secondary result. + +Byre n. Cowshed. [old english] + +Byroad n. Minor road. +Byroad n. Minor road. + +Byssinosis n. Lung disease caused by textile fibre dust. [greek bussinos made of linen] + +Bystander n. Person present but not taking part; onlooker. + +Byte n. Computing group of eight binary digits, often representing one character. [origin uncertain] + +Byway n. 1 byroad or secluded path. 2 minor activity. + +Byword n. 1 person or thing as a notable example (is a byword for luxury). 2 familiar saying. + +Byzantine —adj. 1 of byzantium or the e. Roman empire. 2 of its highly decorated style of architecture. 3 (of a political situation etc.) Complex, inflexible, or underhand. —n. Citizen of byzantium or the e. Roman empire.  byzantinism n. Byzantinist n. [latin byzantium, now istanbul] + + + +C + + + +C1 n. (pl. Cs or c's) 1 (also c) third letter of the alphabet. 2 mus. First note of the diatonic scale of c major. 3 third hypothetical person or example. 4 third highest category etc. 5 algebra (usu. C) third known quantity. 6 (as a roman numeral) 100. 7 (also ©) copyright. + +C2 symb. Carbon. + +C3 abbr. (also c.) 1 celsius, centigrade. 2 coulomb(s), capacitance. + +C. Abbr. 1 century. 2 cent(s). + +C. Abbr. Circa. + +Ca symb. Calcium. + +Ca. Abbr. Circa. + +Caa abbr. Civil aviation authority. + +Cab n. 1 taxi. 2 driver's compartment in a lorry, train, or crane etc. [abbreviation of *cabriolet] + +Cabal n. 1 secret intrigue. 2 political clique. [french from latin] + +Cabaret n. Entertainment in a nightclub or restaurant. [french, = tavern] + +Cabbage n. 1 vegetable with a round head and green or purple leaves. 2 = *vegetable 2. [french caboche head] + +Cabbage white n. Butterfly whose caterpillars feed on cabbage leaves. + +Cabby n. (also cabbie) (pl. -ies) colloq. Taxi-driver. + +Caber n. Trimmed tree-trunk tossed as a sport in the scottish highlands. [gaelic] + +Cabin n. 1 small shelter or house, esp. Of wood. 2 room or compartment in an aircraft or ship for passengers or crew. 3 driver's cab. [french from latin] + +Cabin-boy n. Boy steward on a ship. + +Cabin cruiser n. Large motor boat with accommodation. + +Cabinet n. 1 a cupboard or case for storing or displaying things. B casing of a radio, television, etc. 2 (cabinet) committee of senior ministers in a government. [diminutive of *cabin] + +Cabinet-maker n. Skilled joiner. + +Cable —n. 1 encased group of insulated wires for transmitting electricity etc. 2 thick rope of wire or hemp. 3 cablegram. 4 (in full cable stitch) knitting stitch resembling twisted rope. —v. (-ling) transmit (a message) or inform (a person) by cablegram. [latin caplum halter, from arabic] + +Cable-car n. Small cabin suspended on a looped cable, for carrying passengers up and down a mountain etc. + +Cablegram n. Telegraph message sent by undersea cable. + +Cable television n. Television transmission by cable to subscribers. + +Cabman n. Driver of a cab. + +Caboodle n.  the whole caboodle slang the whole lot. [origin uncertain] + +Caboose n. 1 kitchen on a ship's deck. 2 us guard's van on a train etc. [dutch] + +Cabriole n. A kind of esp. 18th-c. Curved table or chair leg. [french: related to *capriole] + +Cabriolet n. 1 car with a folding top. 2 light two-wheeled one-horse carriage with a hood. [french: related to *capriole] + +Cacao n. (pl. -s) 1 seed from which cocoa and chocolate are made. 2 tree bearing these. [spanish from nahuatl] + +Cache —n. 1 hiding-place for treasure, stores, guns, etc. 2 things so hidden. —v. (-ching) put in a cache. [french cacher hide] + +Cachet n. 1 prestige. 2 distinguishing mark or seal. 3 flat capsule of medicine. [french cacher press] + +Cachou n. Lozenge to sweeten the breath. [portuguese cachu from malay kachu] + +Cack-handed adj. Colloq. 1 clumsy. 2 left-handed. [dial. Cack excrement] + +Cackle —n. 1 clucking of a hen etc. 2 raucous laugh. 3 noisy chatter. —v. (-ling) 1 emit a cackle. 2 chatter noisily. [imitative] +Cacophony n. (pl. -ies) harsh discordant sound.  cacophonous adj. [greek kakos bad, phone sound] + +Cactus n. (pl. -ti or cactuses) plant with a thick fleshy stem and usu. Spines but no leaves. [latin from greek] + +Cad abbr. Computer aided design. + +Cad n. Man who behaves dishonourably.  caddish adj. [abbreviation of *caddie] + +Cadaver n. Esp. Med. Corpse. [latin cado fall] + +Cadaverous adj. Corpselike; very pale and thin. + +Caddie (also caddy) —n. (pl. -ies) person who carries a golfer's clubs during play. —v. (-ies, -ied, caddying) act as a caddie. [french *cadet] + +Caddis-fly n. Small nocturnal insect living near water. [origin unknown] + +Caddis-worm n. (also caddis) larva of the caddis-fly. [origin unknown] + +Caddy1 n. (pl. -ies) small container for tea. [malay] + +Caddy2 var. Of *caddie. + +Cadence n. 1 rhythm; the measure or beat of a sound or movement. 2 fall in pitch of the voice. 3 tonal inflection. 4 close of a musical phrase. [latin cado fall] + +Cadenza n. Virtuoso passage for a soloist. [italian: related to *cadence] + +Cadet n. Young trainee for the armed services or police force.  cadetship n. [french, ultimately from latin caput head] + +Cadge v. (-ging) colloq. Get or seek by begging. [origin unknown] + +Cadi n. (pl. -s) judge in a muslim country. [arabic] + +Cadmium n. Soft bluish-white metallic element. [greek kadmia cadmean (earth)] + +Cadre n. 1 basic unit, esp. Of servicemen. 2 group of esp. Communist activists. [french from latin quadrus square] + +Caecum n. (us cecum) (pl. -ca) blind-ended pouch at the junction of the small and large intestines. [latin caecus blind] + +Caenozoic var. Of *cenozoic. + +Caerphilly n. A kind of mild white cheese. [caerphilly in wales] + +Caesar n. 1 title of roman emperors. 2 autocrat. [latin (c. Julius) caesar] + +Caesura n. (pl. -s) pause in a line of verse.  caesural adj. [latin caedo cut] + +Café n. Small coffee-house or restaurant. [french] + +Cafeteria n. Self-service restaurant. [american spanish, = coffee-shop] + +Caffeine n. Alkaloid stimulant in tea-leaves and coffee beans. [french café coffee] + +Caftan n. (also kaftan) 1 long tunic worn by men in the near east. 2 long loose dress or shirt. [turkish] + +Cage —n. 1 structure of bars or wires, esp. For confining animals or birds. 2 similar open framework, esp. A lift in mine etc. —v. (-ging) place or keep in a cage. [latin cavea] + +Cagey adj. (also cagy) (-ier, -iest) colloq. Cautious and non-committal.  cagily adv. Caginess n. [origin unknown] + +Cagoule n. Thin hooded windproof jacket. [french] + +Cahoots n.pl.  in cahoots slang in collusion. [origin uncertain] + +Caiman var. Of *cayman. + +Cain n.  raise cain colloq. = raise the roof. [cain, eldest son of adam (gen. 4)] + +Cainozoic var. Of *cenozoic. + +Cairn n. 1 mound of stones as a monument or landmark. 2 (in full cairn terrier) small shaggy short-legged terrier. [gaelic] + +Cairngorm n. Semiprecious form of quartz. [cairngorms, in scotland] + +Caisson n. Watertight chamber for underwater construction work. [italian cassone] + +Cajole v. (-ling) persuade by flattery, deceit, etc.  cajolery n. [french] + +Cake —n. 1 mixture of flour, butter, eggs, sugar, etc., baked in the oven and often iced and decorated. 2 other food in a flat round shape (fish cake). 3 flattish compact mass (cake of soap). —v. (-king) 1 form into a compact mass. 2 (usu. Foll. By with) cover (with a hard or sticky mass).  have one's cake and eat it colloq. Enjoy both of two mutually exclusive alternatives. A piece of cake colloq. Something easily achieved. Sell (or go) like hot cakes colloq. Be sold (or go) quickly; be popular. [old norse] + +Cakewalk n. 1 obsolete american black dance. 2 colloq. Easy task. 3 fairground entertainment consisting of a promenade moved by machinery. +Cal abbr. Large calorie(s). + +Cal abbr. Small calorie(s). + +Calabash n. 1 gourd-bearing tree of tropical america. 2 such a gourd, esp. As a vessel for water, etc. [french from spanish] + +Calabrese n. Variety of broccoli. [italian, = calabrian] + +Calamine n. Powdered form of zinc carbonate and ferric oxide used as a skin lotion. [french from latin] + +Calamity n. (pl. -ies) disaster, great misfortune.  calamitous adj. [french from latin] + +Calcareous adj. Of or containing calcium carbonate. [related to *calx] + +Calceolaria n. Plant with slipper-shaped flowers. [latin calceus shoe] + +Calces pl. Of *calx. + +Calciferol n. Vitamin (d2) promoting calcium deposition in the bones. [related to *calx] + +Calciferous adj. Yielding calcium salts, esp. Calcium carbonate. + +Calcify v. (-ies, -ied) 1 harden by the depositing of calcium salts. 2 convert or be converted to calcium carbonate.  calcification n. + +Calcine v. (-ning) decompose or be decomposed by strong heat.  calcination n. [french or medieval latin: related to *calx] + +Calcite n. Natural crystalline calcium carbonate. [latin: related to *calx] + +Calcium n. Soft grey metallic element occurring in limestone, marble, chalk, etc. [related to *calx] + +Calcium carbide n. Greyish solid used in the production of acetylene. + +Calcium carbonate n. White insoluble solid occurring as chalk, marble, etc. + +Calcium hydroxide n. White crystalline powder used in the manufacture of mortar. + +Calcium oxide n. White crystalline solid from which many calcium compounds are manufactured. + +Calculate v. (-ting) 1 ascertain or forecast esp. By mathematics or reckoning. 2 plan deliberately. 3 (foll. By on) rely on; reckon on.  calculable adj. [latin: related to *calculus] + +Calculated adj. 1 (of an action) done deliberately or with foreknowledge. 2 (foll. By to + infin.) Designed or suitable; intended. + +Calculating adj. Scheming, mercenary. + +Calculation n. Act, process, or result of calculating. [latin: related to *calculus] + +Calculator n. Device (esp. A small electronic one) for making mathematical calculations. + +Calculus n. (pl. -luses or -li) 1 particular method of mathematical calculation or reasoning. 2 stone or mineral mass in the body. [latin, = small stone (used on an abacus)] + +Caldron var. Of *cauldron. + +Caledonian literary —adj. Of scotland. —n. Scotsman. [latin caledonia n. Britain] + +Calendar —n. 1 system fixing the year's beginning, length, and subdivision. 2 chart etc. Showing such subdivisions. 3 timetable of dates, events, etc. —v. Enter in a calendar; register (documents). [latin: related to *calends] + +Calendar year n. Period from 1 jan. To 31 dec. Inclusive. + +Calender —n. Machine in which cloth, paper, etc. Is rolled to glaze or smooth it. —v. Press in a calender. [french] + +Calends n.pl. (also kalends) first of the month in the ancient roman calendar. [latin kalendae] + +Calendula n. Plant with large yellow or orange flowers, esp. The marigold. [latin diminutive of kalendae] + +Calf1 n. (pl. Calves) 1 young cow or bull. 2 young of other animals, e.g. The elephant, deer, and whale. 3 calfskin. [old english] + +Calf2 n. (pl. Calves) fleshy hind part of the human leg below the knee. [old norse] + +Calf-love n. Romantic adolescent love. + +Calfskin n. Calf-leather. + +Caliber n. (brit. Calibre) 1 a internal diameter of a gun or tube. B diameter of a bullet or shell. 2 strength or quality of character; ability, importance. [french from italian from arabic, = mould] + +Calibrate v. (-ting) 1 mark (a gauge) with a scale of readings. 2 correlate the readings of (an instrument or system of measurement) with a standard. 3 determine the calibre of (a gun).  calibration n. +Calibre n. (us caliber) 1 a internal diameter of a gun or tube. B diameter of a bullet or shell. 2 strength or quality of character; ability, importance. [french from italian from arabic, = mould] + +Calices pl. Of *calix. + +Calico —n. (pl. -es or us -s) 1 cotton cloth, esp. Plain white or unbleached. 2 us printed cotton fabric. —adj. 1 of calico. 2 us multicoloured. [calicut in india] + +Californium n. Artificial radioactive metallic element. [california in us, where first made] + +Caliper var. Of *calliper. + +Caliph n. Esp. Hist. Chief muslim civil and religious ruler.  caliphate n. [arabic, = successor (of muhammad)] + +Calisthenics var. Of *callisthenics. + +Calix var. Of *calyx. + +Calk us var. Of *caulk. + +Call —v. 1 a (often foll. By out) cry, shout; speak loudly. B (of a bird etc.) Emit its characteristic sound. 2 communicate with by telephone or radio. 3 summon. 4 (often foll. By at, in, on) pay a brief visit. 5 order to take place (called a meeting). 6 name; describe as. 7 regard as (i call that silly). 8 rouse from sleep. 9 (foll. By for) demand. 10 (foll. By on, upon) appeal to (called on us to be quiet). 11 name (a suit) in bidding at cards. 12 guess the outcome of tossing a coin etc. —n. 1 shout, cry. 2 a characteristic cry of a bird etc. B instrument for imitating it. 3 brief visit. 4 a act of telephoning. B telephone conversation. 5 a invitation, summons. B vocation. 6 need, occasion (no call for rudeness). 7 demand (a call on one's time). 8 signal on a bugle etc. 9 option of buying stock at a fixed price at a given date. 10 cards a player's right or turn to make a bid. B bid made.  call in 1 withdraw from circulation. 2 seek the advice or services of. Call off 1 cancel (an arrangement). 2 order (an attacker or pursuer) to desist. Call out 1 summon to action. 2 order (workers) to strike. Call the shots (or tune) colloq. Be in control; take the initiative. Call up 1 telephone. 2 recall. 3 summon to military service. On call ready or available if required. [old english from old norse] + +Call-box n. Telephone box. + +Caller n. Person who calls, esp. One who pays a visit or makes a telephone call. + +Call-girl n. Prostitute accepting appointments by telephone. + +Calligraphy n. 1 handwriting, esp. When fine. 2 art of this.  calligrapher n. Calligraphic adj. Calligraphist n. [greek kallos beauty] + +Calling n. 1 profession or occupation. 2 vocation. + +Calliper n. (also caliper) 1 (in pl.) Compasses for measuring diameters. 2 metal splint to support the leg. [var. Of *calibre] + +Callisthenics n.pl. (also calisthenics) exercises for fitness and grace.  callisthenic adj. [greek kallos beauty, sthenos strength] + +Callosity n. (pl. -ies) area of hard thick skin. [latin: related to *callous] + +Callous adj. 1 unfeeling, insensitive. 2 (also calloused) (of skin) hardened.  callously adv. Callousness n. [latin: related to *callus] + +Callow adj. Inexperienced, immature. [old english, = bald] + +Call-up n. Summons to do military service. + +Callus n. (pl. Calluses) 1 area of hard thick skin or tissue. 2 hard tissue formed round bone ends after a fracture. [latin] + +Calm —adj. 1 tranquil, quiet, windless. 2 serene; not agitated. —n. Calm condition or period. —v. (often foll. By down) make or become calm.  calmly adv. Calmness n. [greek kauma heat] + +Calomel n. Compound of mercury used as a cathartic. [greek kalos beautiful, melas black] + +Calor gas n. Propr. Liquefied butane gas stored under pressure in containers for domestic use. [latin calor heat] + +Caloric adj. Of heat or calories. + +Calorie n. (pl. -ies) unit of quantity of heat, the amount needed to raise the temperature of one gram (small calorie) or one kilogram (large calorie) of water by 1 °c. [latin calor heat] +Calibre n. (us caliber) 1 a internal diameter of a gun or tube. B diameter of a bullet or shell. 2 strength or quality of character; ability, importance. [french from italian from arabic, = mould] + +Calices pl. Of *calix. + +Calico —n. (pl. -es or us -s) 1 cotton cloth, esp. Plain white or unbleached. 2 us printed cotton fabric. —adj. 1 of calico. 2 us multicoloured. [calicut in india] + +Californium n. Artificial radioactive metallic element. [california in us, where first made] + +Caliper var. Of *calliper. + +Caliph n. Esp. Hist. Chief muslim civil and religious ruler.  caliphate n. [arabic, = successor (of muhammad)] + +Calisthenics var. Of *callisthenics. + +Calix var. Of *calyx. + +Calk us var. Of *caulk. + +Call —v. 1 a (often foll. By out) cry, shout; speak loudly. B (of a bird etc.) Emit its characteristic sound. 2 communicate with by telephone or radio. 3 summon. 4 (often foll. By at, in, on) pay a brief visit. 5 order to take place (called a meeting). 6 name; describe as. 7 regard as (i call that silly). 8 rouse from sleep. 9 (foll. By for) demand. 10 (foll. By on, upon) appeal to (called on us to be quiet). 11 name (a suit) in bidding at cards. 12 guess the outcome of tossing a coin etc. —n. 1 shout, cry. 2 a characteristic cry of a bird etc. B instrument for imitating it. 3 brief visit. 4 a act of telephoning. B telephone conversation. 5 a invitation, summons. B vocation. 6 need, occasion (no call for rudeness). 7 demand (a call on one's time). 8 signal on a bugle etc. 9 option of buying stock at a fixed price at a given date. 10 cards a player's right or turn to make a bid. B bid made.  call in 1 withdraw from circulation. 2 seek the advice or services of. Call off 1 cancel (an arrangement). 2 order (an attacker or pursuer) to desist. Call out 1 summon to action. 2 order (workers) to strike. Call the shots (or tune) colloq. Be in control; take the initiative. Call up 1 telephone. 2 recall. 3 summon to military service. On call ready or available if required. [old english from old norse] + +Call-box n. Telephone box. + +Caller n. Person who calls, esp. One who pays a visit or makes a telephone call. + +Call-girl n. Prostitute accepting appointments by telephone. + +Calligraphy n. 1 handwriting, esp. When fine. 2 art of this.  calligrapher n. Calligraphic adj. Calligraphist n. [greek kallos beauty] + +Calling n. 1 profession or occupation. 2 vocation. + +Calliper n. (also caliper) 1 (in pl.) Compasses for measuring diameters. 2 metal splint to support the leg. [var. Of *calibre] + +Callisthenics n.pl. (also calisthenics) exercises for fitness and grace.  callisthenic adj. [greek kallos beauty, sthenos strength] + +Callosity n. (pl. -ies) area of hard thick skin. [latin: related to *callous] + +Callous adj. 1 unfeeling, insensitive. 2 (also calloused) (of skin) hardened.  callously adv. Callousness n. [latin: related to *callus] + +Callow adj. Inexperienced, immature. [old english, = bald] + +Call-up n. Summons to do military service. + +Callus n. (pl. Calluses) 1 area of hard thick skin or tissue. 2 hard tissue formed round bone ends after a fracture. [latin] + +Calm —adj. 1 tranquil, quiet, windless. 2 serene; not agitated. —n. Calm condition or period. —v. (often foll. By down) make or become calm.  calmly adv. Calmness n. [greek kauma heat] + +Calomel n. Compound of mercury used as a cathartic. [greek kalos beautiful, melas black] + +Calor gas n. Propr. Liquefied butane gas stored under pressure in containers for domestic use. [latin calor heat] + +Caloric adj. Of heat or calories. + +Calorie n. (pl. -ies) unit of quantity of heat, the amount needed to raise the temperature of one gram (small calorie) or one kilogram (large calorie) of water by 1 °c. [latin calor heat] +Calorific adj. Producing heat. + +Calorimeter n. Instrument for measuring quantity of heat. + +Calumniate v. (-ting) slander. [latin] + +Calumny n. (pl. -ies) slander; malicious representation.  calumnious adj. [latin] + +Calvados n. Apple brandy. [calvados in france] + +Calve v. (-ving) give birth to a calf. [old english: related to *calf1] + +Calves pl. Of *calf1, *calf2. + +Calvinism n. Theology of calvin or his followers, stressing predestination and divine grace.  calvinist n. & adj. Calvinistic adj. [calvin, name of a theologian] + +Calx n. (pl. Calces) powdery substance formed when an ore or mineral has been heated. [latin calx calc- lime] + +Calypso n. (pl. -s) w. Indian song with improvised usu. Topical words and a syncopated rhythm. [origin unknown] + +Calyx n. (pl. Calyces or -es) (also calix) 1 sepals forming the protective case of a flower in bud. 2 cuplike cavity or structure. [greek, = husk] + +Cam n. Projection on a wheel etc., shaped to convert circular into reciprocal or variable motion. [dutch kam comb] + +Camaraderie n. Friendly comradeship. [french] + +Camber —n. Convex surface of a road, deck, etc. —v. Build with a camber. [latin camurus curved] + +Cambrian —adj. 1 welsh. 2 geol. Of the first period in the palaeozoic era. —n. This period. [welsh: related to *cymric] + +Cambric n. Fine linen or cotton fabric. [cambrai in france] + +Cambridge blue adj. & n. (as adj. Often hyphenated) pale blue. [cambridge in england] + +Camcorder n. Combined video camera and sound recorder. [from *camera, *recorder] + +Came past of *come. + +Camel n. 1 long-legged ruminant with one hump (arabian camel) or two humps (bactrian camel). 2 fawn colour. [greek] + +Camel-hair n. Fine soft hair used in artists' brushes or for fabric. + +Camellia n. Evergreen shrub with shiny leaves and showy flowers. [camellus, name of a botanist] + +Camembert n. A kind of soft creamy pungent cheese. [camembert in france] + +Cameo n. (pl. -s) 1 small piece of hard stone carved in relief with a background of a different colour. 2 a short descriptive literary sketch or acted scene. B small character part in a play or film, usu. Brief and played by a distinguished actor. [french and medieval latin] + +Camera n. 1 apparatus for taking photographs or moving film. 2 equipment for converting images into electrical signals.  in camera law in private. [latin: related to *chamber] + +Cameraman n. Person who operates a camera professionally, esp. In film-making or television. + +Camiknickers n.pl. Women's knickers and vest combined. [from *camisole, *knickers] + +Camisole n. Women's lightweight vest. [italian or spanish: related to *chemise] + +Camomile n. (also chamomile) aromatic plant with daisy-like flowers used esp. To make tea. [greek, = earth-apple] + +Camouflage —n. 1 a disguising of soldiers, tanks, etc. So that they blend into the background. B such a disguise. 2 the natural blending colouring of an animal. 3 misleading or evasive behaviour etc. —v. (-ging) hide by camouflage. [french camoufler disguise] + +Camp1 —n. 1 place where troops are lodged or trained. 2 temporary accommodation of huts, tents, etc., for detainees, holiday-makers, etc. 3 ancient fortified site. 4 party supporters etc. Regarded collectively. —v. Set up or spend time in a camp. [latin campus level ground] + +Camp2 colloq. —adj. 1 affected, effeminate, theatrically exaggerated. 2 homosexual. —n. Camp manner or style. —v. Behave or do in a camp way.  camp it up overact; behave affectedly.  campy adj. (-ier, -iest). [origin uncertain] + +Campaign —n. 1 organized course of action, esp. To gain publicity. 2 military operations towards a particular objective. —v. Take part in a campaign.  campaigner n. [latin: related to *camp1] +Campanile n. Bell-tower (usu. Free-standing), esp. In italy. [italian campana ‘bell’, from latin] + +Campanology n. 1 the study of bells. 2 bell-ringing.  campanologist n. [latin campana bell] + +Campanula n. Plant with bell-shaped usu. Blue, purple, or white flowers. [diminutive: related to *campanology] + +Camp-bed n. Portable folding bed. + +Camper n. 1 person who camps. 2 large motor vehicle with beds etc. + +Camp-follower n. 1 civilian worker in a military camp. 2 disciple or adherent. + +Camphor n. Pungent white crystalline substance used in making celluloid, medicine, and mothballs. [french ultimately from sanskrit] + +Camphorate v. (-ting) impregnate or treat with camphor. + +Campion n. Wild plant with usu. Pink or white notched flowers. [origin uncertain] + +Campsite n. Place for camping. + +Campus n. (pl. -es) 1 grounds of a university or college. 2 esp. Us a university. [latin, = field] + +Camra abbr. Campaign for real ale. + +Camshaft n. Shaft with one or more cams. + +Can1 v.aux. (3rd sing. Present can; past could) 1 a be able to; know how to. B be potentially capable of (these storms can last for hours). 2 be permitted to. [old english, = know] + +Can2 —n. 1 metal vessel for liquid. 2 sealed tin container for the preservation of food or drink. 3 (in pl.) Slang headphones. 4 (prec. By the) slang a prison. B us lavatory. —v. (-nn-) put or preserve in a can.  in the can colloq. Completed, ready. [old english] + +Canada goose n. Wild n. American goose with a brownish-grey body and white neck and breast. + +Canaille n. Rabble; populace. [french from italian] + +Canal n. 1 artificial inland waterway. 2 tubular duct in a plant or animal. [latin canalis] + +Canalize v. (also -ise) (-zing or -sing) 1 provide with or convert into a canal or canals. 2 channel.  canalization n. [french: related to *canal] + +Canapé n. Small piece of bread or pastry with a savoury topping. [french] + +Canard n. Unfounded rumour or story. [french, = duck] + +Canary n. (pl. -ies) small songbird with yellow feathers. [canary islands] + +Canasta n. Card-game using two packs and resembling rummy. [spanish, = basket] + +Cancan n. Lively stage-dance with high kicking. [french] + +Cancel v. (-ll-; us -l-) 1 revoke or discontinue (an arrangement). 2 delete (writing etc.). 3 mark (a ticket, stamp, etc.) To invalidate it. 4 annul; make void. 5 (often foll. By out) neutralize or counterbalance. 6 math. Strike out (an equal factor) on each side of an equation etc.  cancellation n. [latin: related to *chancel] + +Cancer n. 1 a malignant tumour of body cells. B disease caused by this. 2 evil influence or corruption. 3 (cancer) a constellation and fourth sign of the zodiac (the crab). B person born when the sun is in this sign.  cancerous adj. Cancroid adj. [latin, = crab] + +Candela n. Si unit of luminous intensity. [latin, = candle] + +Candelabrum n. (also -bra) (pl. -bra, us -brums, -bras) large branched candlestick or lamp-holder. [latin: related to *candela] + +Usage the form candelabra is, strictly speaking, the plural. However, candelabra (singular) and candelabras (plural) are often found in informal use. + +Candid adj. 1 frank; open. 2 (of a photograph) taken informally, usu. Without subject's knowledge.  candidly adv. Candidness n. [latin candidus white] + +Candida n. Fungus causing thrush. [latin candidus: related to *candid] + +Candidate n. 1 person nominated for or seeking office, an award, etc. 2 person or thing likely to gain some distinction or position. 3 person entered for an examination.  candidacy n. Candidature n. [latin, = white-robed] +Candle n. Cylinder or block of wax or tallow with a central wick which gives light when burning.  cannot hold a candle to is much inferior to. Not worth the candle not justifying cost or trouble. [latin candela] + +Candlelight n. Light from candles.  candlelit adj. + +Candlemas n. Feast of the purification of the virgin mary (2 feb.). [old english: related to *mass2] + +Candlepower n. Unit of luminous intensity. + +Candlestick n. Holder for one or more candles. + +Candlewick n. 1 thick soft cotton yarn. 2 tufted material from this. + +Candor n. (brit. Candour) frankness; openness. [latin candor] + +Candour n. (us candor) frankness; openness. [latin candor] + +C. & w. Abbr. Country-and-western (music). + +Candy —n. (pl. -ies) 1 (in full sugar-candy) sugar crystallized by repeated boiling and slow evaporation. 2 us sweets; a sweet. —v. (-ies, -ied) (usu. As candied adj.) Preserve (fruit etc.) In candy. [french from arabic] + +Candyfloss n. Fluffy mass of spun sugar round a stick. + +Candystripe n. Alternate stripes of white and a colour.  candystriped adj. + +Candytuft n. Plant with white, pink, or purple flowers in tufts. [candia crete, *tuft] + +Cane —n. 1 a hollow jointed stem of giant reeds or grasses. B solid stem of slender palms. 2 = *sugar cane. 3 cane used for wickerwork etc. 4 cane used as a walking-stick, plant support, for punishment, etc. —v. (-ning) 1 beat with a cane. 2 weave cane into (a chair etc.). [greek kanna reed] + +Cane sugar n. Sugar from sugar-cane. + +Canine —adj. Of a dog or dogs. —n. 1 dog. 2 (in full canine tooth) pointed tooth between incisors and premolars. [latin canis dog] + +Canister n. 1 small container for tea etc. 2 cylinder of shot, tear-gas, etc., exploding on impact. [greek kanastron wicker basket] + +Canker —n. 1 destructive disease of trees and plants. 2 ulcerous ear disease of animals. 3 corrupting influence. —v. 1 infect with canker. 2 corrupt. 3 (as cankered adj.) Soured, malignant.  cankerous adj. [latin: related to *cancer] + +Canna n. Tropical plant with bright flowers and ornamental leaves. [latin: related to *cane] + +Cannabis n. 1 hemp plant. 2 parts of it used as a narcotic. [latin from greek] + +Canned adj. 1 pre-recorded (canned music). 2 sold in a can (canned beer). 3 slang drunk. + +Cannelloni n.pl. Tubes of pasta stuffed with a savoury mixture. [italian] + +Cannery n. (pl. -ies) canning-factory. + +Cannibal n. Person or animal that eats its own species.  cannibalism n. Cannibalistic adj. [spanish from carib] + +Cannibalize v. (also -ise) (-zing or -sing) use (a machine etc.) As a source of spare parts.  cannibalization n. + +Cannon —n. 1 hist. (pl. Usu. Same) large heavy esp. Mounted gun. 2 billiards hitting of two balls successively by the player's ball. —v. (usu. Foll. By against, into) collide. [italian: related to *cane] + +Cannonade —n. Period of continuous heavy gunfire. —v. (-ding) bombard with a cannonade. [italian: related to *cannon] + +Cannon-ball n. Hist. Large ball fired by a cannon. + +Cannon-fodder n. Soldiers regarded as expendable. + +Cannot v.aux. Can not. + +Canny adj. (-ier, -iest) 1 shrewd, worldly-wise; thrifty. 2 scot. & n.engl. Pleasant, agreeable.  cannily adv. Canniness n. [from *can1] + +Canoe —n. Small narrow boat with pointed ends, usu. Paddled. —v. (-noes, -noed, -noeing) travel in a canoe.  canoeist n. [spanish and haitian] + +Canon n. 1 a general law, rule, principle, or criterion. B church decree or law. 2 member of a cathedral chapter. 3 body of (esp. Sacred) writings accepted as genuine. 4 the part of the roman catholic mass containing the words of consecration. 5 mus. Piece with different parts taking up the same theme successively. [greek kanon rule] +Cañon var. Of *canyon. + +Canonical —adj. (also canonic) 1 a according to canon law. B included in the canon of scripture. 2 authoritative, accepted. 3 of a cathedral chapter or a member of it. —n. (in pl.) Canonical dress of clergy. [medieval latin: related to *canon] + +Canonist n. Expert in canon law. + +Canonize v. (also -ise) (-zing or -sing) 1 a declare officially to be a saint, usu. With a ceremony. B regard as a saint. 2 admit to the canon of scripture. 3 sanction by church authority.  canonization n. [medieval latin: related to *canon] + +Canon law n. Ecclesiastical law. + +Canoodle v. (-ling) colloq. Kiss and cuddle. [origin unknown] + +Canopy —n. (pl. -ies) 1 a covering suspended over a throne, bed, etc. B sky. C overhanging shelter. 2 archit. Rooflike projection over a niche etc. 3 expanding part of a parachute. —v. (-ies, -ied) supply or be a canopy to. [greek, = mosquito-net] + +Canst archaic 2nd person sing. Of *can1. + +Cant1 —n. 1 insincere pious or moral talk. 2 language peculiar to a class, profession, etc.; jargon. —v. Use cant. [probably from latin: related to *chant] + +Cant2 —n. 1 slanting surface, bevel. 2 oblique push or jerk. 3 tilted position. —v. Push or pitch out of level; tilt. [low german or dutch, = edge] + +Can't contr. Can not. + +Cantab abbr. Of cambridge university. [latin cantabrigiensis] + +Cantabile mus. —adv. & adj. In smooth flowing style. —n. Cantabile passage or movement. [italian, = singable] + +Cantabrigian —adj. Of cambridge or its university. —n. Person from cambridge or its university. [cantabrigia, latinized name of cambridge] + +Cantaloup n. (also cantaloupe) small round ribbed melon. [cantaluppi near rome, where it was first grown in europe] + +Cantankerous adj. Bad-tempered, quarrelsome.  cantankerously adv. Cantankerousness n. [origin uncertain] + +Cantata n. Mus. Composition with vocal solos and usu. Choral and orchestral accompaniment. [italian: related to *chant] + +Canteen n. 1 a restaurant for employees in an office, factory, etc. B shop for provisions in a barracks or camp. 2 case of cutlery. 3 soldier's or camper's water-flask. [italian, = cellar] + +Canter —n. Horse's pace between a trot and a gallop. —v. Go or make go at a canter. [canterbury gallop of medieval pilgrims] + +Canticle n. Song or chant with a biblical text. [latin canticum *chant] + +Cantilever n. 1 bracket or beam etc. Projecting from a wall to support a balcony etc. 2 beam or girder fixed at one end only.  cantilevered adj. [origin unknown] + +Cantilever bridge n. Bridge made of cantilevers projecting from piers and connected by girders. + +Canto n. (pl. -s) division of a long poem. [latin cantus: related to *chant] + +Canton —n. Subdivision of a country, esp. Of switzerland. —v. Put (troops) into quarters. [french, = corner: related to *cant2] + +Cantonment n. 1 lodging assigned to troops. 2 hist. Permanent military station in india. [french: related to *canton] + +Cantor n. 1 church choir leader. 2 precentor in a synagogue. [latin, = singer] + +Canvas —n. 1 strong coarse cloth used for sails and tents etc. And for oil-painting. 2 a painting on canvas, esp. In oils. —v. (-ss-; us -s-) cover with canvas.  under canvas 1 in tents. 2 with sails spread. [latin: related to *cannabis] + +Canvass —v. 1 solicit votes, esp. From a constituency electorate. 2 a ascertain the opinions of. B seek custom from. 3 propose (an idea or plan etc.). —n. Canvassing, esp. Of electors.  canvasser n. [originally = toss in sheet, from *canvas] + +Canyon n. (also cañon) deep gorge. [spanish cañón tube] + +Cap abbr. Common agricultural policy (of the ec). +Cap abbr. Common agricultural policy (of the ec). + +Cap —n. 1 a soft brimless hat, usu. With a peak. B head-covering worn in a particular profession. C cap as a sign of membership of a sports team. D mortarboard. 2 a cover like a cap (kneecap). B top for a bottle, jar, pen, camera lens, etc. 3 = *dutch cap. 4 = *percussion cap. 5 dental crown. —v. (-pp-) 1 a put a cap on. B cover the top or end of. C set a limit to (charge-capping). 2 award a sports cap to. 3 form the top of. 4 surpass, excel.  cap in hand humbly. If the cap fits (of a remark) if it applies to you, so be it. To cap it all after everything else. [latin cappa] + +Capability n. (pl. -ies) 1 ability, power. 2 undeveloped or unused faculty. + +Capable adj. 1 competent, able, gifted. 2 (foll. By of) a having the ability, fitness, etc. For. B admitting of (explanation, improvement, etc.).  capably adv. [latin capio hold] + +Capacious adj. Roomy.  capaciousness n. [latin capax: related to *capable] + +Capacitance n. 1 ability to store electric charge. 2 ratio of change in the electric charge in a system to the corresponding change in its potential. + +Capacitor n. Device able to store electric charge. + +Capacity n. (pl. -ies) 1 a power to contain, receive, experience, or produce (capacity for heat, pain, etc.). B maximum amount that can be contained or produced etc. C (attrib.) Fully occupying the available space etc. (capacity crowd). 2 mental power. 3 position or function. 4 legal competence.  to capacity fully. [latin: related to *capacious] + +Caparison literary —n. 1 (usu. In pl.) Horse's trappings. 2 equipment, finery. —v. Adorn. [spanish, = saddle-cloth] + +Cape1 n. 1 sleeveless cloak. 2 this worn over or as part of a longer cloak or coat. [latin cappa *cap] + +Cape2 n. 1 headland, promontory. 2 (the cape) the cape of good hope. [latin caput head] + +Caper1 —v. Jump or run playfully. —n. 1 playful leap. 2 a prank. B slang illicit activity.  cut a caper frolic. [abbreviation of *capriole] + +Caper2 n. 1 bramble-like shrub. 2 (in pl.) Its pickled buds used esp. In a sauce. [greek kapparis] + +Capercaillie n. (also capercailzie) large european grouse. [gaelic, = horse of the forest] + +Capillarity n. The rise or depression of a liquid in a narrow tube. [french: related to *capillary] + +Capillary —attrib. Adj. 1 of or like a hair, esp. (of a tube) of very small diameter. 2 of the branching blood-vessels connecting arteries and veins. —n. (pl. -ies) 1 capillary tube. 2 capillary blood vessel. [latin capillus hair] + +Capillary action n. = *capillarity. + +Capital —n. 1 chief town or city of a country or region. 2 a money etc. With which a company starts in business. B accumulated wealth. 3 capitalists collectively. 4 capital letter. 5 head of a column or pillar. —adj. 1 a principal, most important. B colloq. Excellent. 2 a involving punishment by death. B (of an error etc.) Vitally harmful, fatal. 3 (of letters of the alphabet) large in size, used to begin sentences and names etc.  make capital out of use to one's advantage. [latin caput -itis head] + +Capital gain n. Profit from the sale of investments or property. + +Capital goods n.pl. Machinery, plant, etc. + +Capitalism n. Economic and political system dependent on private capital and profit-making. + +Capitalist —n. 1 person investing or possessing capital. 2 advocate of capitalism. —adj. Of or favouring capitalism.  capitalistic adj. + +Capitalize v. (also -ise) (-zing or -sing) 1 (foll. By on) use to one's advantage. 2 convert into or provide with capital. 3 a write (a letter of the alphabet) as a capital. B begin (a word) with a capital letter.  capitalization n. [french: related to *capital] + +Capital levy n. Tax on wealth or property. + +Capital sum n. Lump sum, esp. Payable to an insured person. + +Capital transfer tax n. Hist. Tax levied on the transfer of capital by gift or bequest etc. +Capital transfer tax n. Hist. Tax levied on the transfer of capital by gift or bequest etc. + +Usage this tax was replaced in 1986 by inheritance tax. + +Capitation n. Tax or fee paid per person. [latin: related to *capital] + +Capitular adj. Of a cathedral chapter. [latin capitulum *chapter] + +Capitulate v. (-ting) surrender.  capitulation n. [medieval latin, = put under headings] + +Capo n. (pl. -s) device fitted across the strings of a guitar etc. To raise their pitch equally. [italian capo tasto head stop] + +Capon n. Castrated cock fattened for eating. [latin capo] + +Cappuccino n. (pl. -s) frothy milky coffee. [italian, = *capuchin] + +Caprice n. 1 a whim. B tendency to this. 2 lively or fanciful work of art, music, etc. [italian capriccio sudden start] + +Capricious adj. Subject to whims; unpredictable.  capriciously adv. Capriciousness n. + +Capricorn n. 1 constellation and tenth sign of the zodiac (the goat). 2 person born when the sun is in this sign. [latin caper -pri goat, cornu horn] + +Capriole —n. Leap, caper, esp. Of a trained horse. —v. (-ling) perform this. [italian: related to *capricorn] + +Capsicum n. 1 plant with edible fruits, esp. Any of several varieties of pepper. 2 red, green, or yellow fruit of these. [latin capsa case] + +Capsize v. (-zing) (of a boat etc.) Be overturned; overturn. [spanish capuzar sink] + +Capstan n. 1 thick revolving cylinder for winding a cable etc. 2 revolving spindle carrying the spool on a tape recorder. [provençal] + +Capstan lathe n. Lathe with a revolving tool-holder. + +Capsule n. 1 small edible soluble case enclosing medicine. 2 detachable compartment of a spacecraft or nose of a rocket. 3 enclosing membrane in the body. 4 dry fruit that releases its seeds when ripe. 5 (attrib.) Concise; condensed.  capsular adj. [latin capsa case] + +Capsulize v. (also -ise) (-zing or -sing) put (information etc.) In compact form. + +Capt. Abbr. Captain. + +Captain —n. 1 a chief, leader. B leader of a team. 2 a commander of a ship. B pilot of a civil aircraft. 3 army officer next above lieutenant. —v. Be captain of; lead.  captaincy n. (pl. -ies). [latin caput head] + +Caption —n. 1 wording appended to an illustration, cartoon, etc. 2 wording on a cinema or television screen. 3 heading of a chapter, article, etc. —v. Provide with a caption. [latin capio take] + +Captious adj. Fault-finding. [latin: related to *caption] + +Captivate v. (-ting) fascinate; charm.  captivation n. [latin: related to *captive] + +Captive —n. Confined or imprisoned person or animal. —adj. 1 taken prisoner; restrained. 2 unable to escape (captive audience).  captivity n. [latin capio capt- take] + +Captor n. Person who captures. [latin: related to *captive] + +Capture —v. (-ring) 1 a take prisoner; seize. B obtain by force or trickery. 2 portray; record on film etc. 3 absorb (a subatomic particle). 4 record (data) for use in a computer. —n. 1 act of capturing. 2 thing or person captured. [latin: related to *captive] + +Capuchin n. 1 franciscan friar. 2 (capuchin) a monkey with cowl-like head hair. B pigeon with a cowl-like head and neck. [italian cappuccio cowl] + +Capybara n. Large semi-aquatic s. American rodent. [tupi] + +Car n. 1 (in full motor car) motor vehicle for a driver and small number of passengers. 2 (in comb.) Road vehicle or railway carriage esp. Of a specified kind (tramcar; dining-car). 3 us any railway carriage or van. 4 passenger compartment of a lift, balloon, etc. [french from latin] + +Caracul var. Of *karakul. + +Carafe n. Glass container for water or wine. [french from arabic] + +Caramel n. 1 a burnt sugar or syrup as a flavouring or colouring. B a kind of soft toffee. 2 light-brown colour.  caramelize v. (also -ise) (-zing or -sing). [french from spanish] + +Carapace n. Upper shell of a tortoise or crustacean. [french from spanish] +Carat n. 1 unit of weight for precious stones (200 mg). 2 measure of purity of gold (pure gold = 24 carats). [french ultimately from greek keras horn] + +Caravan —n. 1 vehicle equipped for living in and usu. Towed by a car. 2 people travelling together, esp. Across a desert. —v. (-nn-) travel or live in a caravan.  caravanner n. [french from persian] + +Caravanserai n. Eastern inn with a central court. [persian, = caravan place] + +Caravel n. (also carvel) hist. Small light fast ship. [greek karabos, literally ‘horned beetle’] + +Caraway n. Plant with tiny white flowers. [spanish from arabic] + +Caraway seed n. Fruit of the caraway as flavouring and a source of oil. + +Carb n. Colloq. Carburettor. [abbreviation] + +Carbide n. 1 binary compound of carbon. 2 = *calcium carbide. + +Carbine n. Short rifle orig. For cavalry use. [french] + +Carbohydrate n. Energy-producing organic compound of carbon, hydrogen, and oxygen (e.g. Starch, sugar). + +Carbolic n. (in full carbolic acid) phenol. [from *carbon] + +Carbolic soap n. Soap containing carbolic. + +Car bomb n. Terrorist bomb placed in or under a parked car. + +Carbon n. 1 non-metallic element occurring naturally as diamond, graphite, and charcoal, and in all organic compounds. 2 a = *carbon copy. B = *carbon paper. 3 rod of carbon in an arc lamp. [latin carbo charcoal] + +Carbon-14 n. Radioisotope of mass 14, used in carbon dating. + +Carbon-12 n. Stable isotope of carbon, used as a standard. + +Carbonaceous adj. 1 consisting of or containing carbon. 2 of or like coal or charcoal. + +Carbonate —n. Chem. Salt of carbonic acid. —v. (-ting) fill with carbon dioxide. [french: related to *carbon] + +Carbon copy n. 1 copy made with carbon paper. 2 exact copy. + +Carbon dating n. Determination of the age of an organic object from the ratio of isotopes, which changes as carbon-14 decays. + +Carbon dioxide n. Gas occurring naturally in the atmosphere and formed by respiration. + +Carbon fibre n. Thin strong crystalline filament of carbon used as a strengthening material. + +Carbonic adj. Containing carbon. + +Carbonic acid n. Weak acid formed from carbon dioxide in water. + +Carboniferous —adj. 1 producing coal. 2 (carboniferous) of the fifth period in the palaeozoic era, with extensive formation of coal. —n. (carboniferous) this period. + +Carbonize v. (also -ise) (-zing or -sing) 1 convert into carbon. 2 reduce to charcoal or coke. 3 coat with carbon.  carbonization n. + +Carbon monoxide n. Toxic gas formed by the incomplete burning of carbon. + +Carbon paper n. Thin carbon-coated paper used for making copies. + +Carbon tetrachloride n. Colourless liquid used as a solvent. + +Car-boot sale n. Sale of goods from (tables stocked from) the boots of cars. + +Carborundum n. Compound of carbon and silicon used esp. As an abrasive. [from *carbon, *corundum] + +Carboy n. Large globular glass bottle usu. In a frame. [persian] + +Carbuncle n. 1 severe skin abscess. 2 bright-red gem. [latin: related to *carbon] + +Carburettor n. (us carburetor) apparatus in an internal-combustion engine for mixing petrol and air to make an explosive mixture. + +Carcass n. (also carcase) 1 dead body of an animal, esp. As meat. 2 bones of a cooked bird. 3 colloq. Human body; corpse. 4 framework. 5 worthless remains. [french] + +Carcinogen n. Substance producing cancer.  carcinogenic adj. [related to *carcinoma] + +Carcinoma n. (pl. -s or -mata) cancerous tumour. [greek karkinos crab] + +Card1 n. 1 thick stiff paper or thin pasteboard. 2 a piece of this for writing or printing on, esp. To send greetings, to identify a person, or to record information. B small rectangular piece of plastic used for identity etc. 3 a = *playing-card. B (in pl.) Card-playing. 4 (in pl.) Colloq. Tax and national insurance documents etc., held by an employer. 5 programme of events at a race-meeting etc. 6 colloq. +Card2 —n. Wire brush etc. For raising a nap on cloth etc. —v. Brush or comb with a card. [latin caro card (v.)] + +Cardamom n. Seeds of an aromatic se asian plant used as a spice. [latin from greek] + +Cardboard n. Pasteboard or stiff paper, esp. For making boxes. + +Cardboard city n. Area where homeless people make shelters from cardboard boxes etc. + +Card-carrying adj. Registered as a member (esp. Of a political party or trade union). + +Card-game n. Game using playing-cards. + +Cardiac adj. Of the heart. [greek kardia heart] + +Cardigan n. Knitted jacket. [earl of cardigan] + +Cardinal —adj. 1 chief, fundamental. 2 deep scarlet. —n. 1 (as a title cardinal) leading roman catholic dignitary, one of the college electing the pope. 2 small scarlet american songbird. [latin cardo -din- hinge] + +Cardinal number n. Number denoting quantity (1, 2, 3, etc.), as opposed to an ordinal number. + +Cardinal points n.pl. Four main points of the compass (n., s., e., w.). + +Cardinal virtues n.pl. Justice, prudence, temperance, and fortitude. + +Card index n. Index with a card for each entry. + +Cardiogram n. Record of heart movements. [greek kardia heart] + +Cardiograph n. Instrument recording heart movements.  cardiographer n. Cardiography n. + +Cardiology n. Branch of medicine concerned with the heart.  cardiologist n. + +Cardiovascular adj. Of the heart and blood-vessels. + +Cardoon n. Thistle-like plant with leaves used as a vegetable. [french from latin] + +Cardphone n. Public telephone operated by a machine-readable card instead of money. + +Card-sharp n. (also card-sharper) swindler at card-games. + +Card-table n. (esp. Folding) table for card-playing. + +Card vote n. = *block vote. + +Care —n. 1 worry, anxiety. 2 cause of this. 3 serious attention; caution. 4 a protection, looking after, charge. B = *child care. 5 thing to be done or seen to. —v. (-ring) 1 (usu. Foll. By about, for, whether) feel concern or interest. 2 (usu. Foll. By for) like, be fond of (don't care for jazz). 3 (foll. By to + infin.) Wish or be willing (would you care to try?).  care for provide for; look after. Care of at the address of. In care (of a child) in local authority care. Not care a damn etc. = not give a damn etc. (see *give). Take care 1 be careful. 2 (foll. By to + infin.) Not fail or neglect. Take care of 1 look after. 2 deal with, dispose of. [old english, = sorrow] + +Careen v. 1 turn (a ship) on one side for repair etc. 2 tilt, lean over. 3 swerve about. [latin carina keel] + +Usage sense 3 of careen is influenced by the verb career. + +Career —n. 1 one's professional etc. Progress through life. 2 profession or occupation, esp. As offering advancement. 3 (attrib.) A pursuing or wishing to pursue a career (career woman). B working permanently in a specified profession (career diplomat). 4 swift course (in full career). —v. 1 move or swerve about wildly. 2 go swiftly. [latin: related to *car] + +Careerist n. Person predominantly concerned with personal advancement. + +Carefree adj. Light-hearted; joyous. + +Careful adj. 1 painstaking, thorough. 2 cautious. 3 taking care; not neglecting (careful to remind them).  carefully adv. Carefulness n. +Careless adj. 1 lacking care or attention. 2 unthinking, insensitive. 3 light-hearted. 4 (foll. By of) not concerned about.  carelessly adv. Carelessness n. + +Carer n. Person who cares for a sick or elderly person, esp. A relative at home. + +Caress —v. Touch or stroke gently or lovingly. —n. Loving or gentle touch. [latin carus dear] + +Caret n. Mark (^) indicating a proposed insertion in printing or writing. [latin, = is lacking] + +Caretaker n. 1 person employed to look after a house, building, etc. 2 (attrib.) Exercising temporary authority (caretaker government). + +Careworn adj. Showing the effects of prolonged worry. + +Cargo n. (pl. -es or -s) goods carried on a ship or aircraft. [spanish: related to *charge] + +Carib —n. 1 aboriginal inhabitant of the southern w. Indies or adjacent coasts. 2 their language. —adj. Of the caribs. [spanish from haitian] + +Caribbean adj. Of the caribs or the w. Indies generally. + +Caribou n. (pl. Same) n. American reindeer. [french from american indian] + +Caricature —n. 1 grotesque usu. Comically exaggerated representation esp. Of a person. 2 ridiculously poor imitation or version. —v. (-ring) make or give a caricature of.  caricaturist n. [italian caricare exaggerate] + +Caries n. (pl. Same) decay of a tooth or bone. [latin] + +Carillon n. 1 set of bells sounded either from a keyboard or mechanically. 2 tune played on bells. [french] + +Caring adj. 1 kind, humane. 2 (attrib.) Concerned with looking after people (caring professions). + +Carioca n. 1 brazilian dance like the samba. 2 music for this. [portuguese] + +Carmelite —n. 1 friar of the order of our lady of carmel. 2 nun of a similar order. —adj. Of the carmelites. [mt. Carmel in palestine, where the order was founded] + +Carminative —adj. Relieving flatulence. —n. Carminative drug. [latin carmino heal by *charm] + +Carmine —adj. Of vivid crimson colour. —n. 1 this colour. 2 carmine pigment made from cochineal. [probably from latin carmesinum *crimson] + +Carnage n. Great slaughter, esp. In battle. [latin: related to *carnal] + +Carnal adj. 1 of the body or flesh; worldly. 2 sensual, sexual.  carnality n. [latin caro carn- flesh] + +Carnation —n. 1 clove-scented pink. 2 rosy-pink colour. —adj. Rosy-pink. [italian: related to *carnal because of the flesh-colour] + +Carnelian var. Of *cornelian. + +Carnet n. Permit to drive across a frontier, use a camp-site, etc. [french, = notebook] + +Carnival n. 1 a annual festivities including a parade through the streets in fancy dress. B festival preceding lent. 2 merrymaking. 3 us funfair or circus. [latin carnem levo put away meat] + +Carnivore n. Carnivorous animal or plant, esp. A mammal of the order including cats, dogs, and bears. + +Carnivorous adj. (of an animal or plant) feeding on flesh. [latin: related to *carnal, voro devour] + +Carob n. Seed pod of a mediterranean tree used as a chocolate substitute. [arabic karruba] + +Carol —n. Joyous song, esp. A christmas hymn. —v. (-ll-; us -l-) 1 sing carols. 2 sing joyfully. [french] + +Carolingian —adj. Of the frankish dynasty founded by charlemagne. —n. Member of this dynasty. [latin carolus charles] + +Carotene n. Orange-coloured pigment found in carrots, tomatoes, etc., acting as a source of vitamin a. [latin: related to *carrot] + +Carotid —n. Each of the two main arteries carrying blood to the head and neck. —adj. Of these arteries. [latin from greek] + +Carouse —v. (-sing) have a lively drinking-party. —n. Such a party.  carousal n. Carouser n. [german gar aus (drink) right out] + +Carousel n. 1 us merry-go-round. 2 rotating luggage delivery system at an airport etc. [french from italian] + +Carp1 n. (pl. Same) freshwater fish often bred for food. [provençal or latin] + +Carp2 v. Find fault; complain pettily.  carper n. [old norse, = brag] +Carp2 v. Find fault; complain pettily.  carper n. [old norse, = brag] + +Carpal —adj. Of the bones in the wrist. —n. Wrist-bone. [from *carpus] + +Car park n. Area for parking cars. + +Carpel n. Female reproductive organ of a flower. [greek karpos fruit] + +Carpenter —n. Person skilled in woodwork. —v. 1 make or construct in wood. 2 construct; fit together.  carpentry n. [latin carpentum wagon] + +Carpet —n. 1 a thick fabric for covering floor or stairs. B piece of this. 2 thing resembling this etc. (carpet of snow). —v. (-t-) 1 cover with or as with carpet. 2 colloq. Reprimand.  on the carpet colloq. 1 being reprimanded. 2 under consideration. Sweep under the carpet conceal (a problem or difficulty). [latin carpo pluck] + +Carpet-bag n. Travelling-bag, orig. Made of carpet-like material. + +Carpet-bagger n. Colloq. 1 esp. Us political candidate etc. Without local connections. 2 unscrupulous opportunist. + +Carpeting n. 1 material for carpets. 2 carpets collectively. + +Carpet slipper n. Soft slipper. + +Carpet-sweeper n. Household implement for sweeping carpets. + +Car phone n. Radio-telephone for use in a car etc. + +Carport n. Roofed open-sided shelter for a car. + +Carpus n. (pl. -pi) small bones forming the wrist in humans and similar parts in other mammals. [latin from greek] + +Carrageen n. (also carragheen) edible red seaweed. [origin uncertain] + +Carrel n. Small cubicle for a reader in a library. [french from medieval latin] + +Carriage n. 1 railway passenger vehicle. 2 wheeled horse-drawn passenger vehicle. 3 a conveying of goods. B cost of this. 4 carrying part of a machine (e.g. A typewriter). 5 gun-carriage. 6 bearing, deportment. [french: related to *carry] + +Carriage clock n. Portable clock with a handle. + +Carriageway n. The part of a road intended for vehicles. + +Carrier n. 1 person or thing that carries. 2 transport or freight company. 3 = *carrier bag. 4 framework on a bicycle for luggage or a passenger. 5 person or animal that may transmit disease etc. Without suffering from it. 6 = *aircraft-carrier. + +Carrier bag n. Plastic or paper bag with handles. + +Carrier pigeon n. Pigeon trained to carry messages. + +Carrier wave n. High-frequency electromagnetic wave modulated in amplitude or frequency to convey a signal. + +Carrion n. 1 dead putrefying flesh. 2 something vile or filthy. [latin caro flesh] + +Carrion crow n. Crow feeding on carrion. + +Carrot n. 1 a plant with a tapering orange-coloured root. B this as a vegetable. 2 incentive.  carroty adj. [greek karoton] + +Carry —v. (-ies, -ied) 1 support or hold up, esp. While moving. 2 convey with one or have on one's person. 3 conduct or transmit (pipe carries water). 4 (often foll. By to) take (a process etc.) To a specified point; continue; prolong (carry into effect; carry a joke too far). 5 involve, imply (carries 6% interest). 6 math. Transfer (a figure) to a column of higher value. 7 hold in a specified way (carry oneself erect). 8 a (of a newspaper etc.) Publish. B (of a radio or television station) broadcast. 9 keep a regular stock of. 10 a (of sound) be audible at a distance. B (of a missile or gun etc.) Travel or propel to a specified distance. 11 a win victory or acceptance for (a proposal etc.). B win acceptance from (carried the audience with her). C win, capture (a prize, fortress, etc.). 12 a endure the weight of; support. B be the driving force in (you carry the department). 13 be pregnant with. —n. (pl. -ies) 1 act of carrying. 2 golf distance a ball travels before reaching the ground.  carry away 1 remove. 2 inspire. 3 deprive of self-control (got carried away). Carry the can colloq. Bear the responsibility or blame. Carry the day be victorious or successful. Carry forward transfer to a new page or account. Carry it off do well under difficulties. Carry off 1 take away, esp. By force. 2 win (a prize). 3 (esp. +Carry-out attrib. Adj. & n. Esp. Scot. & us = *take-away. + +Carsick adj. Nauseous from car travel.  carsickness n. + +Cart —n. 1 open usu. Horse-drawn vehicle for carrying loads. 2 light vehicle for pulling by hand. —v. 1 convey in a cart. 2 slang carry or convey with effort.  put the cart before the horse reverse the proper order or procedure. [old norse] + +Carte blanche n. Full discretionary power. [french, = blank paper] + +Cartel n. Union of suppliers etc. To control prices. [italian diminutive: related to *card1] + +Cartesian —adj. Of descartes or his philosophy. —n. Follower of descartes. [latin cartesius descartes] + +Cartesian coordinates n.pl. System for locating a point by reference to its distance from axes intersecting at right angles. + +Cart-horse n. Thickset horse. + +Carthusian —n. Monk of a contemplative order founded by st bruno. —adj. Of this order. [latin: related to *chartreuse] + +Cartilage n. Firm flexible connective tissue, mainly replaced by bone in adulthood.  cartilaginous adj. [french from latin] + +Cartography n. Map-drawing.  cartographer n. Cartographic adj. [french carte map] + +Carton n. Light esp. Cardboard box or container. [french: related to *cartoon] + +Cartoon n. 1 humorous, esp. Topical, drawing in a newspaper etc. 2 sequence of drawings telling a story. 3 animated sequence of these on film. 4 full-size preliminary design for a tapestry etc.  cartoonist n. [italian: related to *card1] + +Cartouche n. 1 scroll-like ornamentation. 2 oval ring enclosing the name and title of a pharaoh. [french: related to *cartoon] + +Cartridge n. 1 case containing an explosive charge or bullet for firearms or blasting. 2 sealed container of film etc. 3 component carrying the stylus on a record-player. 4 ink-container for insertion in a pen. [french: related to *cartoon] + +Cartridge-belt n. Belt with pockets or loops for cartridges. + +Cartridge paper n. Thick paper for drawing etc. + +Cartwheel n. 1 wheel of a cart. 2 circular sideways handspring with arms and legs extended. +Cart-wright n. Maker of carts. + +Carve v. (-ving) 1 produce or shape by cutting. 2 a cut patterns etc. In. B (foll. By into) form a pattern etc. From (carved it into a bust). 3 (absol.) Cut (meat etc.) Into slices.  carve out 1 take from a larger whole. 2 establish (a career etc.) Purposefully. Carve up 1 subdivide. 2 drive aggressively into the path of (another vehicle). [old english] + +Carvel var. Of *caravel. + +Carvel-built adj. (of a boat) made with planks flush, not overlapping. + +Carver n. 1 person who carves. 2 carving knife. 3 chair with arms, for a person carving. + +Carvery n. (pl. -ies) buffet or restaurant with joints displayed for carving. + +Carve-up n. Slang sharing-out, esp. Of spoils. + +Carving n. Carved object, esp. As a work of art. + +Carving knife n. Knife for carving meat. + +Casanova n. Notorious womanizer. [italian adventurer] + +Cascade —n. 1 small waterfall, esp. One of series. 2 thing falling or arranged like a cascade. —v. (-ding) fall in or like a cascade. [latin: related to *case1] + +Cascara n. Bark of a californian buckthorn, used as a laxative. [spanish] + +Case1 n. 1 instance of something occurring. 2 hypothetical or actual situation. 3 a person's illness, circumstances, etc., as regarded by a doctor, social worker, etc. B such a person. 4 matter under esp. Police investigation. 5 suit at law. 6 a sum of the arguments on one side, esp. In a lawsuit. B set of arguments (have a good case). C valid set of arguments (have no case). 7 gram. A relation of a word to other words in a sentence. B form of a noun, adjective, or pronoun expressing this. 8 colloq. Comical person.  in any case whatever the truth is; whatever may happen. In case 1 in the event that; if. 2 lest; in provision against a possibility (took it in case). In case of in the event of. Is (or is not) the case is (or is not) so. [latin casus from cado fall] + +Case2 —n. 1 container or enclosing covering. 2 this with its contents. 3 protective outer covering. 4 item of luggage, esp. A suitcase. —v. (-sing) 1 enclose in a case. 2 (foll. By with) surround. 3 slang reconnoitre (a house etc.) Before burgling it. [latin capsa box] + +Case-harden v. 1 harden the surface of (esp. Iron by carbonizing). 2 make callous. + +Case history n. Record of a person's life or medical history for use in professional treatment. + +Casein n. The main protein in milk and cheese. [latin caseus cheese] + +Case-law n. Law as established by the outcome of former cases. + +Casemate n. 1 embrasured room in a fortress wall. 2 armoured enclosure for guns on a warship. [french and italian] + +Casement n. Window or part of a window hinged to open like a door. [anglo-latin: related to *case2] + +Casework n. Social work concerned with studying a person's family and background.  caseworker n. + +Cash —n. 1 money in coins or notes. 2 (also cash down) full payment at the time of purchase. 3 colloq. Wealth. —v. Give or obtain cash for (a note, cheque, etc.).  cash in 1 obtain cash for. 2 colloq. (usu. Foll. By on) profit (from); take advantage (of). Cash up count and check the day's takings. [latin: related to *case2] + +Cash and carry n. 1 system (esp. In wholesaling) of cash payment for goods taken away by the purchaser. 2 store where this operates. + +Cash-book n. Book for recording receipts and cash payments. + +Cashcard n. Plastic card for withdrawing money from a cash dispenser. + +Cash crop n. Crop produced for sale. + +Cash desk n. Counter etc. Where payment is made in a shop. + +Cash dispenser n. Automatic machine for the withdrawal of cash, esp. With a cashcard. + +Cashew n. 1 evergreen tree bearing kidney-shaped nuts. 2 this edible nut. [portuguese from tupi] + +Cash flow n. Movement of money into and out of a business. + +Cashier1 n. Person dealing with cash transactions in a shop, bank, etc. +Cashier2 v. Dismiss from service, esp. With disgrace. [french: related to *quash] + +Cashmere n. 1 fine soft wool, esp. That of a kashmir goat. 2 material made from this. [kashmir in asia] + +Cash on delivery n. Payment for goods when they are delivered. + +Cashpoint n. = *cash dispenser. + +Cash register n. Till recording sales, totalling receipts, etc. + +Casing n. Protective or enclosing cover or material. + +Casino n. (pl. -s) public room or building for gambling. [italian diminutive of casa house] + +Cask n. 1 barrel, esp. For alcohol. 2 its contents. [french casque or spanish casco helmet] + +Casket n. 1 small often ornamental box for jewels etc. 2 us coffin. [latin: related to *case2] + +Cassata n. Ice-cream containing fruit and nuts. [italian] + +Cassava n. 1 plant with starchy roots. 2 starch or flour from these, used e.g. In tapioca. [taino] + +Casserole —n. 1 covered dish for cooking food in the oven. 2 food cooked in this. —v. (-ling) cook in a casserole. [greek kuathion little cup] + +Cassette n. Sealed case containing magnetic tape, film etc., ready for insertion in a tape recorder, camera, etc. [french diminutive: related to *case2] + +Cassia n. 1 tree from the leaves of which senna is extracted. 2 cinnamon-like bark of this used as a spice. [greek kasia from hebrew] + +Cassis n. Blackcurrant flavouring for drinks etc. [french] + +Cassock n. Long usu. Black or red clerical garment.  cassocked adj. [french from italian] + +Cassoulet n. Ragout of meat and beans. [french] + +Cassowary n. (pl. -ies) large flightless australasian bird. [malay] + +Cast —v. (past and past part. Cast) 1 throw, esp. Deliberately or forcefully. 2 (often foll. By on, over) a direct or cause (one's eyes, a glance, light, a shadow, a spell, etc.) To fall. B express (doubts, aspersions, etc.). 3 throw out (a fishing-line etc.) Into the water. 4 let down (an anchor etc.). 5 a throw off, get rid of. B shed or lose (horns, skin, a horseshoe, etc.). 6 register (a vote). 7 a shape (molten metal etc.) In a mould. B make thus. 8 a (usu. Foll. By as) assign (an actor) to a role. B allocate roles in (a play etc.). 9 (foll. By in, into) arrange (facts etc.) In a specified form. 10 reckon, add up (accounts or figures). 11 calculate (a horoscope). —n. 1 throwing of a missile, dice, line, net, etc. 2 a object made in a mould. B moulded mass of solidified material, esp. Plaster for a broken limb. 3 actors in a play etc. 4 form, type, or quality. 5 tinge or shade of colour. 6 slight squint. 7 worm-cast.  cast about (or around) search. Cast adrift leave to drift. Cast aside abandon. Cast loose detach (oneself). Cast lots see *lot. Cast off 1 abandon. 2 finish a piece of knitting. 3 set a ship free from a quay etc. Cast on make the first row of a piece of knitting. Cast up 1 deposit on the shore. 2 add up (figures etc.). [old norse] + +Castanet n. (usu. In pl.) Each of a pair of hand-held pieces of wood etc., clicked together as an accompaniment, esp. By spanish dancers. [latin: related to *chestnut] + +Castaway —n. Shipwrecked person. —adj. Shipwrecked. + +Caste n. 1 any of the hindu hereditary classes whose members have no social contact with other classes. 2 exclusive social class or system of classes.  lose caste descend in social order. [spanish and portuguese: related to *chaste] + +Casteism n. Caste system. + +Castellated adj. 1 having battlements. 2 castle-like.  castellation n. [medieval latin: related to *castle] + +Caster var. Of *castor. + +Castigate v. (-ting) rebuke or punish severely.  castigation n. Castigator n. [latin castus pure] + +Casting n. Cast, esp. Of molten metal. + +Casting vote n. Deciding vote when the votes on two sides are equal. [from an obsolete sense of cast, = turn the scale] + +Cast iron n. Hard alloy of iron, carbon, and silicon cast in a mould. +Cast-iron adj. 1 of cast iron. 2 very strong; rigid; unchallengeable. + +Castle —n. 1 large fortified building with towers and battlements. 2 chess = *rook2. —v. (-ling) chess move a rook next to the king and the king to the other side of the rook.  castles in the air day-dream; impractical scheme. [latin castellum] + +Cast-off —adj. Abandoned, discarded. —n. Cast-off thing, esp. A garment. + +Castor n. (also caster) 1 small swivelled wheel on the leg or underside of a piece of furniture. 2 small perforated container for sprinkling sugar, flour, etc. [from *cast] + +Castor oil n. Oil from the seeds of a tropical plant, used as a purgative and lubricant. [origin uncertain] + +Castor sugar n. Finely granulated white sugar. + +Castrate v. (-ting) 1 remove the testicles of; geld. 2 deprive of vigour.  castration n. [latin castro] + +Castrato n. (pl. -ti) hist. Castrated male soprano or alto singer. [italian: related to *castrate] + +Casual —adj. 1 accidental; chance. 2 not regular or permanent (casual work). 3 a unconcerned. B careless; unthinking. 4 (of clothes) informal. —n. 1 casual worker. 2 (usu. In pl.) Casual clothes or shoes.  casually adv. Casualness n. [french and latin: related to *case1] + +Casualty n. (pl. -ies) 1 person killed or injured in a war or accident. 2 thing lost or destroyed. 3 = *casualty department. 4 accident, mishap. [medieval latin: related to *casual] + +Casualty department n. Part of a hospital where casualties are dealt with. + +Casuist n. 1 person who uses clever but false reasoning in matters of conscience etc. 2 sophist, quibbler.  casuistic adj. Casuistry n. [latin: related to *case1] + +Cat n. 1 small soft-furred four-legged domesticated animal. 2 wild animal of the same family, e.g. Lion, tiger. 3 colloq. Malicious or spiteful woman. 4 = *cat-o'-nine-tails.  the cat's whiskers colloq. Excellent person or thing. Let the cat out of the bag reveal a secret. Like a cat on hot bricks very agitated. Put (or set) the cat among the pigeons cause trouble. Rain cats and dogs rain hard. [latin cattus] + +Cata- prefix 1 down. 2 wrongly. [greek] + +Catabolism n. Breakdown of complex molecules in living organisms to release energy; destructive metabolism.  catabolic adj. [greek katabole throwing down] + +Catachresis n. (pl. -chreses) incorrect use of words.  catachrestic adj. [greek khraomai use] + +Cataclysm n. 1 a violent upheaval or disaster. B great change. 2 great flood.  cataclysmic adj. [greek kluzo wash] + +Catacomb n. (often in pl.) Underground cemetery, esp. Roman. [french from latin] + +Catafalque n. Decorated bier, used esp. In state funerals or for lying in state. [french from italian] + +Catalan —n. Native or language of catalonia in spain. —adj. Of catalonia. [french from spanish] + +Catalepsy n. Trance or seizure with unconsciousness and rigidity of the body.  cataleptic adj. & n. [greek lepsis seizure] + +Catalog (brit. Catalogue) —n. 1 complete alphabetical or otherwise ordered list of items, often with a description of each. 2 extensive list (catalog of disasters). —v. (-logs, -loged, -loging; brit. -logues, -logued, -loguing) 1 make a catalog of. 2 enter in a catalog. [greek lego choose] + +Catalogue (us catalog) —n. 1 complete alphabetical or otherwise ordered list of items, often with a description of each. 2 extensive list (catalogue of disasters). —v. (-logues, -logued, -loguing; us -logs, -loged, -loging) 1 make a catalogue of. 2 enter in a catalogue. [greek lego choose] + +Catalpa n. Tree with long pods and showy flowers. [n. American indian] + +Catalyse v. (us -yze) (-sing or -zing) produce (a reaction) by catalysis. + +Catalysis n. (pl. -lyses) acceleration of a chemical reaction by a catalyst. [greek luo set free] + +Catalyst n. 1 substance that does not itself change, but speeds up a chemical reaction. 2 person or thing that precipitates change. +Catalytic adj. Of or involving catalysis. + +Catalytic converter n. Device incorporated in a vehicle's exhaust system, with a catalyst for converting pollutant gases into harmless products. + +Catalyze v. (brit. -yse) produce (a reaction) by catalysis. + +Catamaran n. 1 boat with parallel twin hulls. 2 raft of yoked logs or boats. [tamil] + +Catamite n. Passive partner (esp. A boy) in homosexual practices. [latin, = ganymede] + +Cat-and-dog adj. (of a relationship etc.) Quarrelsome. + +Catapult —n. 1 forked stick etc. With elastic for shooting stones. 2 mil hist. Machine for hurling large stones etc. 3 device for launching a glider etc. —v. 1 a hurl from or launch with a catapult. B fling forcibly. 2 leap or be hurled forcibly. [latin from greek] + +Cataract n. 1 a large waterfall. B downpour; rush of water. 2 eye condition in which the lens becomes progressively opaque. [greek katarrhaktes, = down-rushing] + +Catarrh n. 1 inflammation of the mucous membrane of the nose, air-passages, etc. 2 mucus caused by this.  catarrhal adj. [greek rheo flow] + +Catastrophe n. 1 great and usu. Sudden disaster. 2 denouement of a drama.  catastrophic adj. Catastrophically adv. [greek strepho turn] + +Catatonia n. 1 schizophrenia with intervals of catalepsy and sometimes violence. 2 catalepsy.  catatonic adj. & n. [greek: related to *cata-, *tone] + +Cat burglar n. Burglar who enters by climbing to an upper storey. + +Catcall —n. Shrill whistle of disapproval. —v. Make a catcall. + +Catch —v. (past and past part. Caught) 1 capture in a trap, one's hands, etc. 2 detect or surprise (esp. A guilty person). 3 a intercept and hold (a moving thing) in the hands etc. B cricket dismiss (a batsman) by catching the ball before it reaches the ground. 4 a contract (a disease) from an infected person. B acquire (a quality etc.) From another. 5 a reach in time and board (a train, bus, etc.). B be in time to see etc. (a person or thing about to leave or finish). 6 apprehend with the senses or mind (esp. A thing occurring quickly or briefly). 7 (of an artist etc.) Reproduce faithfully. 8 a (cause to) become fixed, entangled, or checked. B (often foll. By on) hit, deal a blow to (caught his elbow on the table). 9 draw the attention of; captivate (caught his eye; caught her fancy). 10 begin to burn. 11 reach or overtake (a person etc. Ahead). 12 (foll. By at) try to grasp. —n. 1 a act of catching. B cricket etc. Chance or act of catching the ball. 2 a amount of a thing caught, esp. Of fish. B thing or person caught or worth catching, esp. In marriage. 3 a question, trick, etc., intended to deceive, incriminate, etc. B unexpected or hidden difficulty or disadvantage. 4 device for fastening a door or window etc. 5 mus. Round, esp. With words arranged to produce a humorous effect.  catch fire see *fire. Catch hold of grasp, seize. Catch it slang be punished. Catch on colloq. 1 become popular. 2 understand what is meant. Catch out 1 detect in a mistake etc. 2 take unawares. 3 = sense 3b of v. Catch up 1 a (often foll. By with) reach a person etc. Ahead (caught us up; caught up with us). B (often foll. By with, on) make up arrears. 2 pick up hurriedly. 3 (often in passive) a involve; entangle (caught up in crime). B fasten up (hair caught up in a ribbon). [latin capto try to catch] + +Catch-all n. (often attrib.) Thing designed to be all-inclusive. + +Catch-as-catch-can n. Wrestling with few holds barred. + +Catching adj. (of a disease, practice, etc.) Infectious. + +Catchline n. Short line of type, esp. At the head of copy or as a running headline. + +Catchment n. Collection of rainfall. + +Catchment area n. 1 area served by a school, hospital, etc. 2 area from which rainfall flows into a river etc. + +Catchpenny attrib. Adj. Intended merely to sell quickly; superficially attractive. +Catch-phrase n. Phrase in frequent use. + +Catch-22 n. (often attrib.) Colloq. Unresolvable situation containing conflicting or mutually dependent conditions. + +Catchweight —adj. Unrestricted as regards weight. —n. Unrestricted weight category in sports. + +Catchword n. 1 phrase, word, or slogan in frequent current use. 2 word so placed as to draw attention. + +Catchy adj. (-ier, -iest) (of a tune) easy to remember, attractive. + +Cat door var. Of *cat flap. + +Catechism n. 1 a principles of a religion in the form of questions and answers. B book containing this. 2 series of questions. [church latin: related to *catechize] + +Catechist n. Religious teacher, esp. One using a catechism. + +Catechize v. (also -ise) (-zing or -sing) instruct by using a catechism. [greek katekheo cause to hear] + +Catechumen n. Christian convert under instruction before baptism. [church latin catechumenus] + +Categorical adj. Unconditional, absolute; explicit.  categorically adv. [related to *category] + +Categorize v. (also -ise) (-zing or -sing) place in a category.  categorization n. + +Category n. (pl. -ies) class or division (of things, ideas, etc.). [greek, = statement] + +Cater v. 1 supply food. 2 (foll. By for) provide what is needed or desired (caters for all tastes). 3 (foll. By to) pander to (esp. Low tastes). [anglo-french acatour buyer, from latin capto: related to *catch] + +Caterer n. Professional supplier of food for social events. + +Caterpillar n. 1 larva of a butterfly or moth. 2 (caterpillar) a (in full caterpillar track or tread) propr. Steel band passing round the wheels of a tractor etc. For travel on rough ground. B vehicle with these. [anglo-french, = hairy cat] + +Caterwaul —v. Make the shrill howl of a cat. —n. This noise. [from *cat, -waul imitative] + +Catfish n. (pl. Same) freshwater fish with whisker-like barbels round the mouth. + +Cat flap n. (also cat door) small swinging flap in an outer door, for a cat to pass in and out. + +Catgut n. Material used for the strings of musical instruments and surgical sutures, made of intestines of the sheep, horse, etc. (but not cat). + +Catharsis n. (pl. Catharses) 1 emotional release in drama or art. 2 psychol. Freeing and elimination of repressed emotion. 3 emptying of the bowels. [greek katharos clean] + +Cathartic —adj. 1 effecting catharsis. 2 laxative. —n. Laxative. + +Cathedral n. Principal church of a diocese. [greek kathedra seat] + +Catherine wheel n. Flat coiled firework spinning when lit. [st catherine, who was martyred on a spiked wheel] + +Catheter n. Tube inserted into a body cavity for introducing or removing fluid. [greek kathiemi send down] + +Cathode n. Electr. 1 negative electrode in an electrolytic cell. 2 positive terminal of a battery etc. [greek kathodos way down] + +Cathode ray n. Beam of electrons from the cathode of a vacuum tube. + +Cathode-ray tube n. Vacuum tube in which cathode rays produce a luminous image on a fluorescent screen. + +Catholic —adj. 1 all-embracing; of wide sympathies or interests. 2 of interest or use to all; universal. 3 (catholic) a roman catholic. B including all christians, or all of the western church. —n. (catholic) roman catholic.  catholicism n. Catholicity n. [greek holos whole] + +Cation n. Positively charged ion.  cationic adj. [from *cata-, *ion] + +Catkin n. Small spike of usu. Hanging flowers on a willow, hazel, etc. [dutch, = kitten] + +Catlick n. Colloq. Perfunctory wash. + +Catmint n. Pungent plant attractive to cats. + +Catnap —n. Short sleep. —v. (-pp-) have a catnap. + +Catnip n. = *catmint. [from *cat, dial. Nip catmint] + +Cat-o'-nine-tails n. Hist. Whip with nine knotted lashes. + +Cat's cradle n. Child's game of forming patterns from a loop of string. + +Cat's-eye n. Propr. Reflector stud set into a road. + +Cat's-eye n. Precious stone. +Cat's-paw n. 1 person used as a tool by another. 2 slight breeze. + +Catsuit n. Close-fitting garment with trouser legs, covering the whole body. + +Catsup us var. Of *ketchup. + +Cattery n. (pl. -ies) place where cats are boarded or bred. + +Cattle n.pl. Large ruminant animals with horns and cloven hoofs, esp. Bred for milk or meat. [anglo-french catel: related to *capital] + +Cattle-grid n. Grid over a ditch, allowing people and vehicles but not livestock to pass over. + +Catty adj. (-ier, -iest) spiteful.  cattily adv. Cattiness n. + +Catwalk n. Narrow footway or platform. + +Caucasian —adj. 1 of the white or light-skinned race. 2 of the caucasus. —n. Caucasian person. [caucasus in georgia] + +Caucasoid adj. Of caucasians. + +Caucus n. (pl. -es) 1 us meeting of party members, esp. In the senate etc., to decide policy. 2 often derog. A meeting of a group within a larger organization or party. B such a group. [perhaps from algonquian] + +Caudal adj. 1 of or like a tail. 2 of the posterior part of the body. [latin cauda tail] + +Caudate adj. Tailed. + +Caught past and past part. Of *catch. + +Caul n. 1 membrane enclosing a foetus. 2 part of this occasionally found on a child's head at birth. [french] + +Cauldron n. (also caldron) large deep vessel used for boiling. [latin caldarium hot bath] + +Cauliflower n. Cabbage with a large white flower-head. [french chou fleuri flowered cabbage] + +Cauliflower ear n. Ear thickened by repeated blows. + +Caulk v. (also calk) 1 stop up (the seams of a boat etc.). 2 make (esp. A boat) watertight. [latin calco tread] + +Causal adj. 1 of or forming a cause. 2 relating to cause and effect.  causally adv. + +Causality n. 1 relation of cause and effect. 2 principle that everything has a cause. + +Causation n. 1 act of causing. 2 = *causality. + +Causative adj. Acting as or expressing a cause. + +Cause —n. 1 a thing that produces an effect. B person or thing that occasions or produces something. C reason or motive. 2 adequate reason (show cause). 3 principle, belief, or purpose. 4 a matter to be settled at law. B case offered at law (plead a cause). —v. (-sing) be the cause of, produce, make happen. [latin causa] + +Cause célèbre n. (pl. Causes célèbres pronunc. Same) lawsuit that attracts much interest. [french] + +Causerie n. (pl. -s pronunc. Same) informal article or talk. [french] + +Causeway n. 1 raised road across low ground or water. 2 raised path by a road. [anglo-french caucée from latin *calx] + +Caustic —adj. 1 corrosive; burning. 2 sarcastic, biting. —n. Caustic substance.  caustically adv. Causticity n. [greek kaio burn] + +Caustic soda n. Sodium hydroxide. + +Cauterize v. (also -ise) (-zing or -sing) burn (tissue), esp. To stop bleeding. [french: related to *caustic] + +Caution —n. 1 attention to safety; prudence, carefulness. 2 a law warning, esp. A formal one. B warning and reprimand. 3 colloq. Amusing or surprising person or thing. —v. 1 warn or admonish. 2 issue a caution to. [latin caveo take heed] + +Cautionary adj. Giving or serving as a warning. + +Cautious adj. Having or showing caution.  cautiously adv. Cautiousness n. + +Cavalcade n. Procession or assembly of riders, vehicles, etc. [italian: related to *chevalier] + +Cavalier —n. 1 hist. (cavalier) supporter of charles i in the civil war. 2 courtly gentleman. 3 archaic horseman. —adj. Offhand, supercilious, curt. [related to *cavalcade] + +Cavalry n. (pl. -ies) (usu. Treated as pl.) Soldiers on horseback or in armoured vehicles. [related to *cavalcade] + +Cave —n. Large hollow in the side of a cliff, hill, etc., or underground. —v. (-ving) explore caves.  cave in 1 (cause to) subside or collapse. 2 yield, give up. [latin cavus hollow] + +Caveat n. 1 warning, proviso. 2 law process in court to suspend proceedings. [latin, = let him beware] +Caveat emptor n. Principle that the buyer alone is responsible if dissatisfied. [latin, = let the buyer beware] + +Caveman n. 1 prehistoric person living in caves. 2 crude person. + +Cavern n. Cave, esp. A large or dark one.  cavernous adj. [latin caverna: related to *cave] + +Caviar n. (brit. Caviare) pickled roe of sturgeon or other large fish. [italian from turkish] + +Caviare n. (us caviar) pickled roe of sturgeon or other large fish. [italian from turkish] + +Cavil —v. (-ll-, us -l-) (usu. Foll. By at, about) make petty objections; carp. —n. Petty objection. [latin cavillor] + +Cavity n. (pl. -ies) 1 hollow within a solid body. 2 decayed part of a tooth. [latin: related to *cave] + +Cavity wall n. Double wall with a space between. + +Cavort v. Caper excitedly. [origin uncertain] + +Cavy n. (pl. -ies) small s. American rodent, esp. The guinea pig. [latin from galibi] + +Caw —n. Harsh cry of a rook, crow, etc. —v. Utter this cry. [imitative] + +Cayenne n. (in full cayenne pepper) powdered red pepper. [tupi] + +Cayman n. (also caiman) (pl. -s) s. American alligator-like reptile. [spanish and portuguese from carib] + +Cb abbr. 1 citizens' band. 2 companion of the order of the bath. + +Cbe abbr. Commander of the order of the british empire. + +Cbi abbr. Confederation of british industry. + +Cc abbr. (also c.c.) 1 cubic centimetre(s). 2 copy or copies (to). + +Cd abbr. 1 compact disc. 2 civil defence. 3 corps diplomatique. + +Cd symb. Cadmium. + +Cd abbr. Candela. + +Cd-rom abbr. Compact disc read-only memory (for the retrieval of text or data on a vdu screen). + +Cdt abbr. Craft, design, and technology. + +Cd-video n. (pl. -s) 1 system of simultaneously reproducing high-quality sound and video pictures from a compact disc. 2 such a compact disc. + +Ce symb. Cerium. + +Cease formal —v. (-sing) stop; bring or come to an end. —n. (in without cease) unending. [latin cesso] + +Cease-fire n. 1 period of truce. 2 order to stop firing. + +Ceaseless adj. Without end.  ceaselessly adv. + +Cecum n. (brit. Caecum) (pl. -ca) blind-ended pouch at the junction of the small and large intestines. [latin caecus blind] + +Cedar n. 1 spreading evergreen conifer. 2 its hard fragrant wood. [greek kedros] + +Cede v. (-ding) formal give up one's rights to or possession of. [latin cedo cess- yield] + +Cedilla n. 1 mark written under c, esp. In french, to show it is sibilant (as in façade). 2 similar mark under s in turkish etc. [spanish diminutive of zeda z] + +Ceefax n. Propr. Teletext service provided by the bbc. [representing a pronunciation of seeing + facsimile] + +Ceilidh n. Informal gathering for music, dancing, etc. [gaelic] + +Ceiling n. 1 upper interior surface of a room or other compartment. 2 upper limit. 3 maximum altitude a given aircraft can reach. [origin uncertain] + +Celandine n. Yellow-flowered plant. [greek khelidon a swallow] + +Celebrant n. Person who performs a rite, esp. The priest at the eucharist. + +Celebrate v. (-ting) 1 mark with or engage in festivities. 2 perform (a rite or ceremony). 3 praise publicly.  celebration n. Celebrator n. Celebratory adj. [latin celeber renowned] + +Celebrity n. (pl. -ies) 1 well-known person. 2 fame. [latin: related to *celebrate] + +Celeriac n. Variety of celery. [from *celery] + +Celerity n. Archaic or literary swiftness. [latin celer swift] + +Celery n. Plant with crisp long whitish leaf-stalks used as a vegetable. [greek selinon parsley] + +Celesta n. Small keyboard instrument with steel plates struck to give a bell-like sound. [french: related to *celestial] + +Celestial adj. 1 of the sky or heavenly bodies. 2 heavenly; divinely good; sublime. [latin caelum sky] + +Celestial equator n. The great circle of the sky in the plane perpendicular to the earth's axis. +Celestial sphere n. Imaginary sphere, of any radius, of which the observer is the centre and in which celestial bodies are represented as lying. + +Celibate —adj. 1 unmarried or committed to sexual abstention, esp. For religious reasons. 2 having no sexual relations. —n. Celibate person.  celibacy n. [latin caelebs unmarried] + +Cell n. 1 small room, esp. In a prison or monastery. 2 small compartment, e.g. In a honeycomb. 3 small, active, esp. Subversive, political group. 4 a smallest structural and functional unit of living matter, consisting of cytoplasm and a nucleus enclosed in a membrane. B enclosed cavity in an organism etc. 5 vessel containing electrodes for current-generation or electrolysis. [latin cella] + +Cellar —n. 1 storage room below ground level in a house. 2 stock of wine in a cellar. —v. Store in a cellar. [latin cellarium: related to *cell] + +Cello n. (pl. -s) bass instrument of the violin family, held between the legs of the seated player.  cellist n. [abbreviation of *violoncello] + +Cellophane n. Propr. Thin transparent viscose wrapping material. [from *cellulose: cf. *diaphanous] + +Cellphone n. Small portable radio-telephone. + +Cellular adj. Consisting of cells, of open texture; porous.  cellularity n. [french: related to *cell] + +Cellular radio n. System of mobile radio-telephone transmission with an area divided into ‘cells’, each served by a small transmitter. + +Cellulite n. Lumpy fat, esp. On the hips and thighs of women. [french: related to *cell] + +Celluloid n. 1 plastic made from camphor and cellulose nitrate. 2 cinema film. + +Cellulose n. 1 carbohydrate forming plant-cell walls, used in textile fibres. 2 (in general use) paint or lacquer consisting of esp. Cellulose acetate or nitrate in solution. [latin: related to *cell] + +Celsius adj. Of a scale of temperature on which water freezes at 0° and boils at 100°. [name of an astronomer] + +Usage see note at centigrade. + +Celt n. (also kelt) member of an ethnic group, including the inhabitants of ireland, wales, scotland, cornwall, and brittany. [latin from greek] + +Celtic —adj. Of the celts. —n. Group of celtic languages, including gaelic and irish, welsh, cornish, and breton. + +Cement —n. 1 powdery substance of calcined lime and clay, mixed with water to form mortar or used in concrete. 2 similar substance. 3 uniting factor or principle. 4 substance used in filling teeth, doing hip replacements, etc. —v. 1 a unite with or as with cement. B establish or strengthen (a friendship etc.). 2 apply cement to. 3 line or cover with cement.  cementation n. [latin caedo cut] + +Cemetery n. (pl. -ies) burial ground, esp. One not in a churchyard. [greek koimao put to sleep] + +Cenobite n. (brit. Coenobite) member of a monastica community. [greek koinos bios common life] + +Cenotaph n. Tomblike monument to a person whose body is elsewhere. [greek kenos empty, taphos tomb] + +Cenozoic (also cainozoic, caenozoic) —adj. Of the most recent geological era, marked by the evolution and development of mammals etc. —n. This era. [greek kainos new, zoion animal] + +Censer n. Vessel for burning incense. [anglo-french: related to *incense1] + +Censor —n. Official authorized to suppress or expurgate books, films, news, etc., on grounds of obscenity, threat to security, etc. —v. 1 act as a censor of. 2 make deletions or changes in.  censorial adj. Censorship n. [latin censeo assess] + +Usage as a verb, censor is often confused with censure. + +Censorious adj. Severely critical.  censoriously adv. + +Censure —v. (-ring) criticize harshly; reprove. —n. Hostile criticism; disapproval. [latin: related to *censor] + +Usage as a verb, censure is often confused with censor. + +Census n. (pl. -suses) official count of population etc. [latin: related to *censor] +Cent n. 1 a one-hundredth of a dollar or other decimal currency unit. B coin of this value. 2 colloq. Very small amount. [latin centum 100] + +Centaur n. Creature in greek mythology with the upper half of a man and the lower half of a horse. [latin from greek] + +Centenarian —n. Person a hundred or more years old. —adj. A hundred or more years old. + +Centenary —n. (pl. -ies) 1 hundredth anniversary. 2 celebration of this. —adj. 1 of a centenary. 2 occurring every hundred years. [latin centeni 100 each] + +Centennial —adj. 1 lasting for a hundred years. 2 occurring every hundred years. —n. Us = *centenary n. [latin centum 100: cf. *biennial] + +Center (brit. Centre) —n. 1 middle point. 2 pivot or axis of rotation. 3 a place or buildings forming a central point or a main area for an activity (shopping centre; town centre). B (with a preceding word) equipment for a number of connected functions (music centre). 4 point of concentration or dispersion; nucleus, source. 5 political party or group holding moderate opinions. 6 filling in chocolate etc. 7 sport a middle player in a line in some field games. B kick or hit from the side to the centre of a pitch. 8 (attrib.) Of or at the centre. —v. (-ring) 1 (foll. By in, on, round) have as its main centre. 2 place in the centre. 3 (foll. By in etc.) Concentrate. [greek kentron sharp point] + +Centerboard n. (brit. Centreboard) board lowered through a boat's keel to prevent leeway. + +Centerfold n. (brit. Centrefold) centre spread of a magazine etc., esp. With nude photographs. + +Centesimal adj. Reckoning or reckoned by hundredths. [latin centum 100] + +Centi- comb. Form 1 one-hundredth. 2 hundred. [latin centum 100] + +Centigrade adj. 1 = *celsius. 2 having a scale of a hundred degrees. [latin gradus step] + +Usage in sense 1, celsius is usually preferred in technical contexts. + +Centigram n. (also centigramme) metric unit of mass, equal to 0.01 gram. + +Centiliter n. (brit. Centilitre) 0.01 litre. + +Centilitre n. (us centiliter) 0.01 litre. + +Centime n. 1 one-hundredth of a franc. 2 coin of this value. [latin centum 100] + +Centimeter n. (brit. Centimetre) 0.01 metre. + +Centimetre n. (us centimeter) 0.01 metre. + +Centipede n. Arthropod with a segmented wormlike body and many legs. [latin pes ped- foot] + +Central adj. 1 of, at, or forming the centre. 2 from the centre. 3 chief, essential, most important.  centrality n. Centrally adv. + +Central bank n. National bank issuing currency etc. + +Central heating n. Method of heating a building by pipes, radiators, etc., fed from a central source. + +Centralism n. System that centralizes (esp. Administration).  centralist n. + +Centralize v. (also -ise) (-zing or -sing) 1 concentrate (esp. Administration) at a single centre. 2 subject (a state) to this system.  centralization n. + +Central nervous system n. Brain and spinal cord. + +Central processor n. (also central processing unit) principal operating part of a computer. + +Centre (us center) —n. 1 middle point. 2 pivot or axis of rotation. 3 a place or buildings forming a central point or a main area for an activity (shopping centre; town centre). B (with a preceding word) equipment for a number of connected functions (music centre). 4 point of concentration or dispersion; nucleus, source. 5 political party or group holding moderate opinions. 6 filling in chocolate etc. 7 sport a middle player in a line in some field games. B kick or hit from the side to the centre of a pitch. 8 (attrib.) Of or at the centre. —v. (-ring) 1 (foll. By in, on, round) have as its main centre. 2 place in the centre. 3 (foll. By in etc.) Concentrate. [greek kentron sharp point] + +Usage the use of the verb in sense 1 with round is common and used by good writers, but is still considered incorrect by some people. + +Centre back n. Sport middle player or position in a half-back line. +Centreboard n. (us centerboard) board lowered through a boat's keel to prevent leeway. + +Centrefold n. (us centerfold) centre spread of a magazine etc., esp. With nude photographs. + +Centre forward n. Sport middle player or position in a forward line. + +Centre half n. = *centre back. + +Centre of gravity n. (also centre of mass) point at which the weight of a body may be considered to act. + +Centre-piece n. 1 ornament for the middle of a table. 2 principal item. + +Centre spread n. Two facing middle pages of a newspaper etc. + +Centric adj. 1 at or near the centre. 2 from a centre.  centrical adj. Centrically adv. + +Centrifugal adj. Moving or tending to move from a centre.  centrifugally adv. [from *centre, latin fugio flee] + +Centrifugal force n. Apparent force that acts outwards on a body moving about a centre. + +Centrifuge n. Rapidly rotating machine designed to separate liquids from solids etc. + +Centripetal adj. Moving or tending to move towards a centre.  centripetally adv. [latin peto seek] + +Centripetal force n. Force acting on a body causing it to move towards a centre. + +Centrist n. Polit. Often derog. Person holding moderate views.  centrism n. + +Centurion n. Commander of a century in the ancient roman army. [latin: related to *century] + +Century n. (pl. -ies) 1 a 100 years. B any century reckoned from the birth of christ (twentieth century = 1901–2000; fifth century bc = 500–401 bc). 2 score etc. Of 100 esp. By one batsman in cricket. 3 company in the ancient roman army, orig. Of 100 men. [latin centuria: related to *cent] + +Usage strictly speaking, since the first century ran from the year 1 to 100, the first year of a given century should be that ending in 01. However, in popular use this has been moved back a year, and so the twenty-first century will commonly be regarded as running from 2000–2099. + +Cephalic adj. Of or in the head. [greek kephale head] + +Cephalopod n. Mollusc with a distinct tentacled head, e.g. The octopus. [from *cephalic, greek pous pod- foot] + +Ceramic —adj. 1 made of (esp.) Baked clay. 2 of ceramics. —n. Ceramic article or product. [greek keramos pottery] + +Ceramics n.pl. 1 ceramic products collectively. 2 (usu. Treated as sing.) Art of making ceramic articles. + +Cereal —n. 1 a grain used for food. B wheat, maize, rye, etc. Producing this. 2 breakfast food made from a cereal. —adj. Of edible grain. [latin ceres goddess of agriculture] + +Cerebellum n. (pl. -s or -bella) part of the brain at the back of the skull. [latin diminutive of *cerebrum] + +Cerebral adj. 1 of the brain. 2 intellectual; unemotional. [related to *cerebrum] + +Cerebral palsy n. Paralysis resulting from brain damage before or at birth, involving spasm of the muscles and involuntary movements. + +Cerebration n. Working of the brain. + +Cerebrospinal adj. Of the brain and spine. + +Cerebrum n. (pl. -bra) principal part of the brain in vertebrates, at the front of the skull. [latin] + +Ceremonial —adj. Of or with ceremony; formal. —n. System of rites or ceremonies.  ceremonially adv. + +Ceremonious adj. Fond of or characterized by ceremony; formal.  ceremoniously adv. + +Ceremony n. (pl. -ies) 1 formal procedure, esp. At a public event or anniversary. 2 formalities, esp. Ritualistic. 3 excessively polite behaviour.  stand on ceremony insist on formality. [latin caerimonia worship] + +Cerise n. Light clear red. [french: related to *cherry] + +Cerium n. Silvery metallic element of the lanthanide series. [ceres, name of an asteroid] + +Cern abbr. European organization for nuclear research. [french conseil européen pour la recherche nucléaire, former title] + +Cert n. (esp. Dead cert) slang a certainty. [abbreviation] + +Cert. Abbr. 1 certificate. 2 certified. +Cern abbr. European organization for nuclear research. [french conseil européen pour la recherche nucléaire, former title] + +Cert n. (esp. Dead cert) slang a certainty. [abbreviation] + +Cert. Abbr. 1 certificate. 2 certified. + +Certain —adj. 1 a confident, convinced. B indisputable (it is certain that he is guilty). 2 (often foll. By to + infin.) Sure; destined (it is certain to rain; certain to win). 3 unerring, reliable. 4 that need not be specified or may not be known to the reader or hearer (of a certain age; a certain john smith). 5 some but not much (a certain reluctance). —pron. (as pl.) Some but not all (certain of them knew).  for certain without doubt. [latin certus] + +Certainly adv. 1 undoubtedly. 2 (in answer) yes; by all means. + +Certainty n. (pl. -ies) 1 a undoubted fact. B indubitable prospect. 2 absolute conviction. 3 reliable thing or person. + +Cert. Ed. Abbr. Certificate in education. + +Certifiable adj. 1 able or needing to be certified. 2 colloq. Insane. + +Certificate —n. Formal document attesting a fact, esp. Birth, marriage, or death, a medical condition, or a qualification. —v. (-ting) (esp. As certificated adj.) Provide with, license, or attest by a certificate.  certification n. [latin: related to *certify] + +Certificate of secondary education n. Hist. Secondary-school leaving examination in england, wales, and northern ireland. + +Usage this examination was replaced in 1988 by the general certificate of secondary education (gcse). + +Certified cheque n. Cheque guaranteed by a bank. + +Certify v. (-ies, -ied) 1 attest; attest to, esp. Formally. 2 declare by certificate. 3 officially declare insane. [latin certus] + +Certitude n. Feeling of certainty. [latin: related to *certain] + +Cerulean adj. & n. Literary deep sky-blue. [latin caeruleus] + +Cervical adj. Of the neck or the cervix (cervical vertebrae). [related to *cervix] + +Cervical screening n. Mass routine examination for cervical cancer. + +Cervical smear n. Specimen from the neck of the womb for examination. + +Cervix n. (pl. Cervices) 1 necklike structure, esp. The neck of the womb. 2 the neck. [latin] + +Cesarean (brit. Caesarean) —adj. (of birth) effected by caesarean section. —n. Caesarean section. [from *caesar: julius caesar was supposedly born this way] + +Cesium n. (brit. Caesium) soft silver-white element. [latin caesius blue-grey] + +Cessation n. Ceasing or pause. [latin: related to *cease] + +Cession n. 1 ceding. 2 territory etc. Ceded. [latin: related to *cede] + +Cesspit n. (also cesspool) covered pit for the temporary storage of liquid waste or sewage. [origin uncertain] + +Cetacean —n. Marine mammal, e.g. The whale. —adj. Of cetaceans. [greek ketos whale] + +Cetane n. Liquid hydrocarbon used in standardizing ratings of diesel fuel. [from *spermaceti] + +Cf symb. Californium. + +Cf. Abbr. Compare. [latin confer] + +Cfc abbr. Chlorofluorocarbon, a usu. Gaseous compound of carbon, hydrogen, chlorine, and fluorine, used in refrigerants, aerosol propellants, etc., and thought to harm the ozone layer. + +Cfe abbr. College of further education. + +Cg abbr. Centigram(s). + +Ch abbr. Companion of honour. + +Chablis n. (pl. Same) very dry white wine from chablis in e. France. + +Cha-cha n. (also cha-cha-cha) 1 latin-american dance. 2 music for this. [american spanish] + +Chaconne n. 1 musical variations over a ground bass. 2 dance performed to this. [french from spanish] + +Chafe —v. (-fing) 1 make or become sore or damaged by rubbing. 2 make or become annoyed; fret. 3 rub (esp. The skin to restore warmth or sensation). —n. Sore caused by rubbing. [latin calefacio make warm] + +Chaff —n. 1 separated husks of corn etc. 2 chopped hay or straw. 3 light-hearted teasing. 4 worthless things. —v. Tease, banter. [old english] + +Chaffinch n. A common european finch. [old english: related to *chaff, *finch] +Chafing-dish n. Vessel in which food is cooked or kept warm at table. + +Chagrin —n. Acute annoyance or disappointment. —v. Affect with chagrin. [french] + +Chain —n. 1 a connected flexible series of esp. Metal links. B thing resembling this. 2 (in pl.) Fetters; restraining force. 3 sequence, series, or set. 4 group of associated hotels, shops, etc. 5 badge of office in the form of a chain worn round the neck. 6 unit of length (66 ft). —v. (often foll. By up) secure or confine with a chain. [latin catena] + +Chain-gang n. Hist. Team of convicts chained together to work out of doors. + +Chain-mail n. Armour made of interlaced rings. + +Chain reaction n. 1 chemical or nuclear reaction forming products which initiate further reactions. 2 series of events, each caused by the previous one. + +Chain-saw n. Motor-driven saw with teeth on an endless chain. + +Chain-smoke v. Smoke continually, esp. By lighting the next cigarette etc. From the previous one.  chain-smoker n. + +Chain store n. One of a series of similar shops owned by one firm. + +Chair —n. 1 seat for one person usu. With a back. 2 professorship. 3 a chairperson. B seat or office of a chairperson. 4 us = *electric chair. —v. 1 preside over (a meeting). 2 carry (a person) aloft in triumph.  take the chair preside over a meeting. [greek kathedra] + +Chair-lift n. Series of chairs on a looped cable, for carrying passengers up and down a mountain etc. + +Chairman n. (fem. Also chairwoman) 1 person chosen to preside over a meeting. 2 permanent president of a committee, board of directors, etc. diff --git a/Dzmitry-Monich/3/fasteng/db/config.yml b/Dzmitry-Monich/3/fasteng/db/config.yml new file mode 100644 index 00000000..d9c40aa8 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/config.yml @@ -0,0 +1,13 @@ +default: &default + adapter: postgresql + encoding: unicode + pool: 5 + host: localhost + +development: + <<: *default + database: fasteng_development + +test: + <<: *default + database: fasteng_test diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210423192044_create_definitions.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210423192044_create_definitions.rb new file mode 100644 index 00000000..0859e621 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210423192044_create_definitions.rb @@ -0,0 +1,10 @@ +class CreateDefinitions < ActiveRecord::Migration[6.0] + def change + create_table :definitions do |t| + t.string :word, null: false, index: { unique: true } + t.text :description, null: false + + t.timestamps + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210424123019_create_user.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210424123019_create_user.rb new file mode 100644 index 00000000..226bfa9c --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210424123019_create_user.rb @@ -0,0 +1,10 @@ +class CreateUser < ActiveRecord::Migration[6.0] + def change + create_table :users do |t| + t.string :telegram_id, null: false, index: { unique: true } + t.string :state, default: 'registered' + + t.timestamps + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210425002506_rename_column_state_to_users.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210425002506_rename_column_state_to_users.rb new file mode 100644 index 00000000..43d7b903 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210425002506_rename_column_state_to_users.rb @@ -0,0 +1,5 @@ +class RenameColumnStateToUsers < ActiveRecord::Migration[6.0] + def change + rename_column :users, :state, :status + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210425110929_change_status_to_users.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210425110929_change_status_to_users.rb new file mode 100644 index 00000000..ffd4f9aa --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210425110929_change_status_to_users.rb @@ -0,0 +1,5 @@ +class ChangeStatusToUsers < ActiveRecord::Migration[6.0] + def change + change_column_default :users, :status, from: 'registered', to: 'new' + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210428140949_add_schedule_and_upcoming_time_to_users.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210428140949_add_schedule_and_upcoming_time_to_users.rb new file mode 100644 index 00000000..dc939697 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210428140949_add_schedule_and_upcoming_time_to_users.rb @@ -0,0 +1,6 @@ +class AddScheduleAndUpcomingTimeToUsers < ActiveRecord::Migration[6.0] + def change + add_column :users, :schedule, :string + add_column :users, :upcoming_time, :integer + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210429142812_create_table_learned_words.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210429142812_create_table_learned_words.rb new file mode 100644 index 00000000..e8b36252 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210429142812_create_table_learned_words.rb @@ -0,0 +1,10 @@ +class CreateTableLearnedWords < ActiveRecord::Migration[6.0] + def change + create_table :learned_words do |t| + t.belongs_to :user, null: false, foreign_key: true + t.belongs_to :definition, null: false, foreign_key: true + + t.timestamps + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210429231932_change_column_type_in_users.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210429231932_change_column_type_in_users.rb new file mode 100644 index 00000000..0d21f093 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210429231932_change_column_type_in_users.rb @@ -0,0 +1,13 @@ +class ChangeColumnTypeInUsers < ActiveRecord::Migration[6.0] + def up + remove_column :users, :telegram_id, :string, null: false + add_column :users, :telegram_id, :integer, null: false + add_index :users, :telegram_id, unique: true + end + + def down + remove_column :users, :telegram_id, :integer, null: false + add_column :users, :telegram_id, :string, null: false + add_index :users, :telegram_id, unique: true + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210512223216_change_column_in_users.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210512223216_change_column_in_users.rb new file mode 100644 index 00000000..263360ba --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210512223216_change_column_in_users.rb @@ -0,0 +1,11 @@ +class ChangeColumnInUsers < ActiveRecord::Migration[6.0] + def up + remove_column :users, :schedule, :string + add_column :users, :words_count, :integer + end + + def down + remove_column :users, :words_count, :integer + add_column :users, :schedule, :string + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/migrate/20210513015733_remove_upcoming_time_from_users.rb b/Dzmitry-Monich/3/fasteng/db/migrate/20210513015733_remove_upcoming_time_from_users.rb new file mode 100644 index 00000000..71cb59d5 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/migrate/20210513015733_remove_upcoming_time_from_users.rb @@ -0,0 +1,5 @@ +class RemoveUpcomingTimeFromUsers < ActiveRecord::Migration[6.0] + def change + remove_column :users, :upcoming_time, :integer + end +end diff --git a/Dzmitry-Monich/3/fasteng/db/schema.rb b/Dzmitry-Monich/3/fasteng/db/schema.rb new file mode 100644 index 00000000..8842c253 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/db/schema.rb @@ -0,0 +1,46 @@ +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# This file is the source Rails uses to define your schema when running `rails +# db:schema:load`. When creating a new database, `rails db:schema:load` tends to +# be faster and is potentially less error prone than running all of your +# migrations from scratch. Old migrations may fail to apply correctly if those +# migrations use external dependencies or application code. +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 2021_05_13_015733) do + + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + + create_table "definitions", force: :cascade do |t| + t.string "word", null: false + t.text "description", null: false + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["word"], name: "index_definitions_on_word", unique: true + end + + create_table "learned_words", force: :cascade do |t| + t.bigint "user_id", null: false + t.bigint "definition_id", null: false + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["definition_id"], name: "index_learned_words_on_definition_id" + t.index ["user_id"], name: "index_learned_words_on_user_id" + end + + create_table "users", force: :cascade do |t| + t.string "status", default: "new" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.integer "telegram_id", null: false + t.integer "words_count" + t.index ["telegram_id"], name: "index_users_on_telegram_id", unique: true + end + + add_foreign_key "learned_words", "definitions" + add_foreign_key "learned_words", "users" +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng.rb new file mode 100644 index 00000000..6c584796 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'pathname' +require 'pry' +require 'active_record' +require 'dotenv/load' +require 'telegram/bot' + +require_relative 'fasteng/logging' +require_relative 'fasteng/dictionary_manager' +require_relative 'fasteng/app' +require_relative 'fasteng/dispatcher' +require_relative 'fasteng/database_connector' +require_relative 'fasteng/message_sender' +require_relative 'fasteng/notify_handler' +require_relative 'fasteng/base_controller' +require_relative 'fasteng/polling_controller' +require_relative 'fasteng/webhook_controller' +require_relative 'fasteng/config' +require_relative 'fasteng/actions' + +module Fasteng + class << self + attr_writer :config + + def root_path + Pathname.new(File.expand_path('..', __dir__)) + end + + def config + @config ||= Config.new + end + + def configure + yield config + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/actions.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions.rb new file mode 100644 index 00000000..ab187b34 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require_relative 'actions/base' +require_relative 'actions/registerer' +require_relative 'actions/scheduler' +require_relative 'actions/feedbacker' +require_relative 'actions/definition_sender' +require_relative 'actions/reminder' + +module Fasteng + module Actions + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/base.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/base.rb new file mode 100644 index 00000000..dd761247 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/base.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Fasteng + module Actions + class Base + def self.call(*args) + new(*args).call + end + + def initialize(bot_api, user, message = nil) + @bot_api = bot_api + @user = user + @message = message if message + end + + protected + + attr_reader :bot_api, :user, :message + + def send(message_type) + MessageSender::ReplyMessage.send(bot_api, user.telegram_id, message_type) + end + + def notify(definition) + MessageSender::NotifyMessage.send(bot_api, user.telegram_id, definition) + end + + # rubocop:disable Lint/RedundantCopDisableDirective + # rubocop:disable Rails/TimeZone + def actual_time + # Time.now.min + Time.now.hour + end + # rubocop:enable Rails/TimeZone + # rubocop:enable Lint/RedundantCopDisableDirective + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/definition_sender.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/definition_sender.rb new file mode 100644 index 00000000..ed0c0dfa --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/definition_sender.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Fasteng + module Actions + class DefinitionSender < Base + def call + return unless user.upcoming_time_equal?(actual_time) + + definition = DictionaryManager::DictionarySelector.call(user) + if definition + user.receive_definition!(definition) + notify(definition) + else + send(:end_game) + end + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/feedbacker.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/feedbacker.rb new file mode 100644 index 00000000..ee3ead79 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/feedbacker.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Fasteng + module Actions + class Feedbacker < Base + def call + return unless definition_received?(message.text) + + user.learn_word! + send(:done) + end + + private + + def definition_received?(answer) + answer == '😄' + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/registerer.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/registerer.rb new file mode 100644 index 00000000..07af148c --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/registerer.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Fasteng + module Actions + class Registerer < Base + def call + user.register! + send(:welcome) + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/reminder.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/reminder.rb new file mode 100644 index 00000000..43ce6c4e --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/reminder.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Fasteng + module Actions + class Reminder < Base + def call + return unless user.miss_time?(actual_time) + + send(:missed) + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/scheduler.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/scheduler.rb new file mode 100644 index 00000000..084b43fd --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/actions/scheduler.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Fasteng + module Actions + class Scheduler < Base + def call + if user.add_schedule(message.text) + send(:accept) + else + send(:welcome_dialog) + end + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/app.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/app.rb new file mode 100644 index 00000000..b19cb473 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/app.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Fasteng + class App + class << self + include Logging + + def run + init + + controller = Fasteng.const_get("#{Fasteng.config.controller.capitalize}Controller") + logger.info 'Bot starting...' + controller.run + end + + private + + def init + DatabaseConnector.call + require_models + DictionaryManager::DictionaryCreator.call + end + + def require_models + Dir["#{Fasteng.root_path}/models/**/*.rb"].sort.each { |file| require file } + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/base_controller.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/base_controller.rb new file mode 100644 index 00000000..e34cfa4e --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/base_controller.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Fasteng + class BaseController + include Logging + + def self.run + new.run + end + + def initialize + @bot = Telegram::Bot::Client.new(Fasteng.config.token) + end + + protected + + attr_reader :bot, :url + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/config.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/config.rb new file mode 100644 index 00000000..8599b35d --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/config.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Fasteng + class Config + CONTROLLER_TYPES = %w[polling webhook].freeze + + attr_accessor :token, :url + attr_reader :controller + + def initialize + @token = ENV['BOT_TOKEN'] + @controller = 'polling' + end + + def controller=(controller_name) + validate(controller_name) + + @controller = controller_name + end + + private + + def validate(controller_name) + raise ArgumentError, "no such controller: #{controller_name}" unless CONTROLLER_TYPES.include?(controller_name) + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/database_connector.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/database_connector.rb new file mode 100644 index 00000000..b38a4b73 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/database_connector.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require 'yaml' + +module Fasteng + module DatabaseConnector + class << self + def call + ActiveRecord::Base.logger = Logger.new($stdout) + + setup + end + + private + + def setup + env = ENV['DB_ENV'] || 'development' + config = YAML.load_file(Fasteng.root_path.join('db/config.yml')) + ActiveRecord::Base.establish_connection(config[env]) + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager.rb new file mode 100644 index 00000000..b04a99c1 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +require_relative 'dictionary_manager/dictionary_creator' +require_relative 'dictionary_manager/dictionary_selector' + +module Fasteng + module DictionaryManager + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager/dictionary_creator.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager/dictionary_creator.rb new file mode 100644 index 00000000..e9b9e6bf --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager/dictionary_creator.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Fasteng + module DictionaryManager + module DictionaryCreator + class << self + def call + return if Definition.any? + + Definition.create(definitions) + end + + private + + def definitions + filepath = Fasteng.root_path.join('data/dictionary.txt') + separator = ' ' + + prepared = + File + .readlines(filepath, chomp: true) + .map(&:strip) + .reject { |line| line.empty? || line.split(separator).first =~ /^[A-Z]$/ } + .each_with_object({}) do |line, acc| + word, *rest = line.split(separator) + acc[word] = rest.join(separator) + end + + prepared.map { |word, descr| { word: word, description: descr } } + end + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager/dictionary_selector.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager/dictionary_selector.rb new file mode 100644 index 00000000..e4469aa3 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/dictionary_manager/dictionary_selector.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Fasteng + module DictionaryManager + module DictionarySelector + class << self + def call(user) + Definition + .left_outer_joins(:learned_words) + .where('user_id is NULL OR user_id NOT IN (?)', user.id) + .order(Arel.sql('RANDOM()')) + .first + end + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/dispatcher.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/dispatcher.rb new file mode 100644 index 00000000..02268a9f --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/dispatcher.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +module Fasteng + class Dispatcher + def self.call(*args) + new(*args).call + end + + def initialize(bot_api, message) + @bot_api = bot_api + @message = message + end + + def call + return if user.scheduled? + + action = actions[user.status] + action.call(bot_api, user, message) + end + + private + + attr_reader :bot_api, :message + + def user + @user ||= User.find_or_create_by!(telegram_id: message.from.id) + end + + def actions + { + 'new' => Actions::Registerer, + 'registered' => Actions::Scheduler, + 'waiting' => Actions::Feedbacker + } + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/logging.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/logging.rb new file mode 100644 index 00000000..3147d293 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/logging.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +require 'logger' + +module Logging + def self.logger + @logger ||= Logger.new( + $stdout, + formatter: proc { |sev, dtime, _, msg| "#{sev}, #{dtime}, #{msg}\n" } + ) + end + + def logger + Logging.logger + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender.rb new file mode 100644 index 00000000..df1e13aa --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +require_relative 'message_sender/reply_message' +require_relative 'message_sender/notify_message' + +module Fasteng + module MessageSender + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender/notify_message.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender/notify_message.rb new file mode 100644 index 00000000..cfc3fb88 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender/notify_message.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Fasteng + module MessageSender + module NotifyMessage + module_function + + def send(bot_api, chat_id, message) + prepared = "**#{message.word}** #{message.description}" + bot_api.send_message(chat_id: chat_id, text: prepared, parse_mode: 'Markdown') + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender/reply_message.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender/reply_message.rb new file mode 100644 index 00000000..72cd8382 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/message_sender/reply_message.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Fasteng + module MessageSender + module ReplyMessage + module_function + + MESSAGES = { + welcome: 'Привет. Я бот, который помогает учить новые английские слова каждый день. ' \ + 'Давай сперва определимся сколько слов в день ( от 1 до 6 ) ты хочешь узнавать?', + welcome_dialog: 'Я не умею учить больше чем 6 словам. Давай еще раз?', + accept: 'Принято', + missed: 'Кажется ты был слишком занят, и пропустил слово? Дай мне знать что у тебя все хорошо.', + done: 'Вижу что ты заметил слово! Продолжаем учиться дальше!', + end_game: 'Слова закончились' + }.freeze + + def send(bot_api, chat_id, message_type) + message = MESSAGES[message_type] + bot_api.send_message(chat_id: chat_id, text: message) + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/notify_handler.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/notify_handler.rb new file mode 100644 index 00000000..2f00cec5 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/notify_handler.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Fasteng + class NotifyHandler + include Logging + + def self.call + new.call + end + + def initialize + @bot = Telegram::Bot::Client.new(Fasteng.config.token) + setup + end + + def call + return unless User.any? + + User.where(status: %w[scheduled waiting]).find_each do |user| + Actions::DefinitionSender.call(bot.api, user) + Actions::Reminder.call(bot.api, user, :missed) + end + end + + private + + attr_reader :bot + + def setup + DatabaseConnector.call + Dir["#{Fasteng.root_path}/models/**/*.rb"].sort.each { |file| require file } + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/polling_controller.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/polling_controller.rb new file mode 100644 index 00000000..84bc9d84 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/polling_controller.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Fasteng + class PollingController < BaseController + def run + setup + + bot.listen do |message| + logger.info "[#{message.chat.id}] #{message.from.username}: #{message.text}" + Thread.new(message) { |msg| Dispatcher.call(bot.api, msg) } + end + end + + private + + def setup + return if webhook_missed? + + bot.api.deleteWebhook + end + + def webhook_missed? + webhook_info = bot.api.getWebhookInfo + webhook_info['result']['url'].empty? + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/version.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/version.rb new file mode 100644 index 00000000..1b89d6de --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/version.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +module Fasteng + VERSION = '0.1.0' +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/webhook_controller.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/webhook_controller.rb new file mode 100644 index 00000000..a5d31482 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/webhook_controller.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +require 'json' +require_relative 'webhook_controller/sinatra_base' + +module Fasteng + class WebhookController < BaseController + def initialize + super + + @url = Fasteng.config.url + validate_url + end + + def run + setup + + sinatra_controller.run! + end + + private + + def sinatra_controller + SinatraBase + .set(:bot_api, bot.api) + .post '/telegram' do + request.body.rewind + data = JSON.parse(request.body.read) + message = Telegram::Bot::Types::Update.new(data).message + logger.info "[#{message.chat.id}] #{message.from.username}: #{message.text}" + + Dispatcher.call(settings.bot_api, message) + + status 200 + end + SinatraBase + end + + def setup + bot.api.set_webhook(url: "#{url}/telegram") + end + + def validate_url + raise ArgumentError, 'no url for webhook controller' unless url + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/lib/fasteng/webhook_controller/sinatra_base.rb b/Dzmitry-Monich/3/fasteng/lib/fasteng/webhook_controller/sinatra_base.rb new file mode 100644 index 00000000..b3acb8fd --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/lib/fasteng/webhook_controller/sinatra_base.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require 'sinatra/base' + +module Fasteng + class WebhookController < BaseController + class SinatraBase < Sinatra::Base + configure do + set :port, 3000 + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/models/definition.rb b/Dzmitry-Monich/3/fasteng/models/definition.rb new file mode 100644 index 00000000..99930d88 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/models/definition.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# rubocop:disable Lint/RedundantCopDisableDirective +# rubocop:disable Rails/ApplicationRecord + +class Definition < ActiveRecord::Base + validates :word, presence: true, uniqueness: true + validates :description, presence: true + + has_many :learned_words, dependent: :destroy + has_many :users, through: :learned_words +end + +# rubocop:enable Rails/ApplicationRecord +# rubocop:enable Lint/RedundantCopDisableDirective diff --git a/Dzmitry-Monich/3/fasteng/models/learned_word.rb b/Dzmitry-Monich/3/fasteng/models/learned_word.rb new file mode 100644 index 00000000..5c54f9b6 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/models/learned_word.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +# rubocop:disable Lint/RedundantCopDisableDirective +# rubocop:disable Rails/ApplicationRecord + +class LearnedWord < ActiveRecord::Base + belongs_to :user + belongs_to :definition +end + +# rubocop:enable Rails/ApplicationRecord +# rubocop:enable Lint/RedundantCopDisableDirective diff --git a/Dzmitry-Monich/3/fasteng/models/user.rb b/Dzmitry-Monich/3/fasteng/models/user.rb new file mode 100644 index 00000000..2e43b42c --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/models/user.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true + +require 'aasm' +# rubocop:disable Lint/RedundantCopDisableDirective +# rubocop:disable Rails/ApplicationRecord + +class User < ActiveRecord::Base + include AASM + include Logging + + SCHEDULE_TYPES = [ + [15], + [10, 21], + [9, 15, 21], + [8, 13, 18, 23], + [8, 12, 16, 20, 24], + [8, 11, 14, 17, 20, 23] + ].freeze + + has_many :learned_words, dependent: :destroy + has_many :definitions, through: :learned_words + + validates :telegram_id, presence: true, uniqueness: true, case_sensitive: false + validates :words_count, numericality: { greater_than_or_equal_to: 1, less_than_or_equal_to: 6 }, allow_nil: true + + aasm column: 'status' do + state :new, initial: true + state :registered + state :scheduled + state :waiting + + event :register do + transitions from: :new, to: :registered + end + + event :init_schedule do + transitions from: :registered, to: :scheduled + end + + event :get_word do + transitions from: :scheduled, to: :waiting + end + + event :learn_word do + transitions from: :waiting, to: :scheduled + end + end + + def add_schedule(count) + update( + status: 'scheduled', + words_count: count.to_i + ) + end + + def receive_definition!(definition) + transaction do + get_word! if scheduled? + definitions << definition + end + end + + def upcoming_time_equal?(time) + SCHEDULE_TYPES[words_count - 1].any?(time) + end + + def miss_time?(time) + waiting? && upcoming_time_equal?(time - 2) + end +end + +# rubocop:enable Rails/ApplicationRecord +# rubocop:enable Lint/RedundantCopDisableDirective diff --git a/Dzmitry-Monich/3/fasteng/spec/factories/definitions.rb b/Dzmitry-Monich/3/fasteng/spec/factories/definitions.rb new file mode 100644 index 00000000..34c7b2ec --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/factories/definitions.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :definition do + word { Faker::Lorem.word } + description { Faker::Lorem.sentence } + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/factories/users.rb b/Dzmitry-Monich/3/fasteng/spec/factories/users.rb new file mode 100644 index 00000000..c96c0652 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/factories/users.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :user do + telegram_id { Faker::Number.number(digits: 9) } + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/fasteng/actions_spec.rb b/Dzmitry-Monich/3/fasteng/spec/fasteng/actions_spec.rb new file mode 100644 index 00000000..e4bbe5f1 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/fasteng/actions_spec.rb @@ -0,0 +1,168 @@ +# frozen_string_literal: true + +describe Fasteng::Actions do + let(:from) { double('from', { id: Faker::Number.number(digits: 9) }) } + let(:bot_api) { double('bot_api') } + + describe 'User registration' do + let(:message) { double('message', from: from) } + let(:welcome_message) { Fasteng::MessageSender::ReplyMessage::MESSAGES[:welcome] } + let(:user) { create(:user, telegram_id: from.id, status: 'new') } + + it 'user registers' do + allow(Fasteng::MessageSender::ReplyMessage) + .to receive(:send) + .with(bot_api, user.telegram_id, :welcome) + + described_class::Registerer.call(bot_api, user, message) + + expect(User.first).to have_state(:registered) + end + + it 'user gets :welcome message' do + expect(bot_api) + .to receive(:send_message) + .with(chat_id: user.telegram_id, text: welcome_message) + + described_class::Registerer.call(bot_api, user, message) + end + end + + describe 'User scheduling' do + context 'when answer valid' do + let(:message) { double('message', text: '5', from: from) } + let(:accepted_message) { Fasteng::MessageSender::ReplyMessage::MESSAGES[:accept] } + let(:user) { create(:user, telegram_id: from.id, status: 'registered') } + + it 'user gets schedule' do + allow(Fasteng::MessageSender::ReplyMessage) + .to receive(:send) + .with(bot_api, user.telegram_id, :accept) + + described_class::Scheduler.call(bot_api, user, message) + + expect(User.find(user.id)).to have_state(:scheduled) + end + + it 'user gets :accept message' do + expect(bot_api) + .to receive(:send_message) + .with(chat_id: from.id, text: accepted_message) + + described_class::Scheduler.call(bot_api, user, message) + end + end + + context 'when answer not valid' do + let(:message) { double('message', text: 'what?', from: from) } + let(:dialog_message) { Fasteng::MessageSender::ReplyMessage::MESSAGES[:welcome_dialog] } + let(:user) { create(:user, telegram_id: from.id, status: 'registered') } + + it 'user not gets schedule' do + allow(Fasteng::MessageSender::ReplyMessage) + .to receive(:send) + .with(bot_api, user.telegram_id, :welcome_dialog) + + described_class::Scheduler.call(bot_api, user, message) + + expect(User.find(user.id)).to have_attributes( + status: 'registered', words_count: nil + ) + end + + it 'user gets :welcome_dialog message' do + expect(bot_api) + .to receive(:send_message) + .with(chat_id: user.telegram_id, text: dialog_message) + + described_class::Scheduler.call(bot_api, user, message) + end + end + end + + describe 'User makes feedback after receiving word' do + let(:user) { create(:user, telegram_id: from.id, status: 'waiting') } + + context 'when user makes feedback' do + let(:message) { double('message', text: '😄', from: from) } + let(:confirm_message) { Fasteng::MessageSender::ReplyMessage::MESSAGES[:done] } + + it 'user status changed to scheduled' do + allow(Fasteng::MessageSender::ReplyMessage) + .to receive(:send) + .with(bot_api, user.telegram_id, :done) + + described_class::Feedbacker.call(bot_api, user, message) + + expect(User.find(user.id)).to have_state(:scheduled) + end + + it 'user gets :done message' do + expect(bot_api) + .to receive(:send_message) + .with(chat_id: user.telegram_id, text: confirm_message) + + described_class::Feedbacker.call(bot_api, user, message) + end + end + + context 'when user not make feedback' do + let(:message) { double('message', text: 'wrong', from: from) } + + it 'user status not changed' do + described_class::Feedbacker.call(bot_api, user, message) + + expect(User.find(user.id)).to have_state(:waiting) + end + end + end + + describe 'User receives definition' do + let(:definition) { create(:definition) } + let(:user) { create(:user, telegram_id: from.id, status: 'scheduled', words_count: 3) } + let(:last_messsage) { Fasteng::MessageSender::ReplyMessage::MESSAGES[:end_game] } + + before { Timecop.freeze(2021, 4, 20, 21) } + + it 'user status changed to waiting' do + allow(Fasteng::MessageSender::NotifyMessage) + .to receive(:send) + .with(bot_api, user.telegram_id, definition) + + described_class::DefinitionSender.call(bot_api, user, definition) + + expect(User.find(user.id)).to have_state(:waiting) + end + + it 'user receives definition' do + expect(Fasteng::MessageSender::NotifyMessage) + .to receive(:send) + .with(bot_api, user.telegram_id, definition) + + described_class::DefinitionSender.call(bot_api, user, definition) + end + + it 'user not receives definition (there are no more of the ones)' do + expect(bot_api) + .to receive(:send_message) + .with(chat_id: user.telegram_id, text: last_messsage) + + described_class::DefinitionSender.call(bot_api, user, nil) + end + end + + describe 'User receives notifiication about missed feedback' do + let(:message) { Fasteng::MessageSender::ReplyMessage::MESSAGES[:missed] } + let(:user) { create(:user, telegram_id: from.id, status: 'waiting', words_count: 3) } + + before { Timecop.freeze(2021, 4, 20, 23) } + + it 'user receives message' do + expect(bot_api) + .to receive(:send_message) + .with(chat_id: user.telegram_id, text: message) + + described_class::Reminder.call(bot_api, user, :missed) + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/fasteng/app_spec.rb b/Dzmitry-Monich/3/fasteng/spec/fasteng/app_spec.rb new file mode 100644 index 00000000..5c4484df --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/fasteng/app_spec.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +describe Fasteng::App do + before do + allow(Fasteng::DatabaseConnector).to receive(:call) + allow(Fasteng::DictionaryManager::DictionaryCreator).to receive(:call) + allow(ENV).to receive(:[]).with('BOT_TOKEN').and_return('123456') + end + + context 'when configered (by default) long-polling request' do + it 'App runs PollingController' do + expect(Fasteng::PollingController).to receive(:run) + + described_class.run + end + end + + context 'when configered webhook request' do + before { Fasteng.config.controller = 'webhook' } + + it 'App does not run WebhookController because url not passed' do + expect { described_class.run } + .to raise_error(ArgumentError, 'no url for webhook controller') + end + + it 'App runs WebhookController' do + Fasteng.config.url = 'http://webhook' + + expect(Fasteng::WebhookController).to receive(:run) + + described_class.run + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/fasteng/config_spec.rb b/Dzmitry-Monich/3/fasteng/spec/fasteng/config_spec.rb new file mode 100644 index 00000000..0292d08b --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/fasteng/config_spec.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +describe Fasteng::Config do + context 'when passed argument is valid' do + let(:controller_name) { 'polling' } + + it 'config gets controller type' do + subject.controller = controller_name + + expect(subject.controller).to eq controller_name + end + end + + context 'when passed argument not valid' do + let(:controller_name) { 'wrong' } + + it 'error ocurres' do + expect { subject.controller = controller_name } + .to raise_error(ArgumentError, "no such controller: #{controller_name}") + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/fasteng/dictionary_manager_spec.rb b/Dzmitry-Monich/3/fasteng/spec/fasteng/dictionary_manager_spec.rb new file mode 100644 index 00000000..05dd07f9 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/fasteng/dictionary_manager_spec.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +require 'pathname' + +describe Fasteng::DictionaryManager do + let(:filepath) { File.expand_path('../fixtures', __dir__) } + + before do + allow(Fasteng) + .to receive(:root_path).and_return(Pathname.new(filepath)) + end + + describe 'Creation dictionary' do + it 'data parsed correctly' do + expected = [ + { word: 'Abandoned', description: 'adj. 1 deserted, forsaken. 2 unrestrained, profligate.' }, + { word: 'Abattoir', description: 'n. Slaughterhouse. [french abatre fell, as *abate]' } + ] + + described_class::DictionaryCreator.call + + expect(Definition.all).to match_array( + [have_attributes(expected.first), have_attributes(expected.second)] + ) + end + + context 'whitout data in database' do + it 'data saved correctly' do + expect { described_class::DictionaryCreator.call }.to change(Definition, :count).from(0).to(2) + end + end + + context 'whith data in database' do + it 'data not saved another time' do + described_class::DictionaryCreator.call + + expect { described_class::DictionaryCreator.call }.not_to change(Definition, :count) + end + end + end + + describe 'Select definition' do + let(:user1) { create(:user) } + let(:user2) { create(:user) } + let(:definition) { create(:definition) } + + before { LearnedWord.create({ user: user1, definition: definition }) } + + context 'when already learned' do + it 'word not selected' do + word = described_class::DictionarySelector.call(user1) + + expect(word).to be_nil + end + end + + context 'when not learned' do + it 'word selected' do + word = described_class::DictionarySelector.call(user2) + + expect(word).to eq definition + end + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/fasteng/dispatcher_spec.rb b/Dzmitry-Monich/3/fasteng/spec/fasteng/dispatcher_spec.rb new file mode 100644 index 00000000..86fb3481 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/fasteng/dispatcher_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +describe Fasteng::Dispatcher do + let(:from) { double('from', { id: Faker::Number.number(digits: 9) }) } + let(:message) { double('message', from: from) } + let(:bot_api) { double('bot_api') } + + describe 'User registration' do + let(:user) { create(:user, telegram_id: from.id, status: 'new') } + + it 'triggers Registerer action' do + expect(Fasteng::Actions::Registerer) + .to receive(:call) + .with(bot_api, user, message) + + described_class.call(bot_api, message) + end + end + + describe 'User scheduling' do + let(:user) { create(:user, telegram_id: from.id, status: 'registered') } + + it 'triggers Scheduler action' do + expect(Fasteng::Actions::Scheduler) + .to receive(:call) + .with(bot_api, user, message) + + described_class.call(bot_api, message) + end + end + + describe 'User learning' do + let(:user) { create(:user, telegram_id: from.id, status: 'waiting') } + + it 'triggers Feedbacker action' do + expect(Fasteng::Actions::Feedbacker) + .to receive(:call) + .with(bot_api, user, message) + + described_class.call(bot_api, message) + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/fasteng/whenever_spec.rb b/Dzmitry-Monich/3/fasteng/spec/fasteng/whenever_spec.rb new file mode 100644 index 00000000..4b11dd77 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/fasteng/whenever_spec.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +describe Whenever::Test::Schedule do + before { load 'Rakefile' } + + it 'rake statements exists' do + expect(Rake::Task.task_defined?(subject.jobs[:rake].first[:task])).to be_truthy + end + + it 'cron is registered' do + expect(subject.jobs[:rake].first[:task]).to eq 'cron:notify' + expect(subject.jobs[:rake].first[:every]).to eq ['0 0-23 * * 0-6'] + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/fixtures/data/dictionary.txt b/Dzmitry-Monich/3/fasteng/spec/fixtures/data/dictionary.txt new file mode 100644 index 00000000..a3c55dd2 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/fixtures/data/dictionary.txt @@ -0,0 +1,3 @@ +Abandoned adj. 1 deserted, forsaken. 2 unrestrained, profligate. + +Abattoir n. Slaughterhouse. [french abatre fell, as *abate] diff --git a/Dzmitry-Monich/3/fasteng/spec/models/definition_spec.rb b/Dzmitry-Monich/3/fasteng/spec/models/definition_spec.rb new file mode 100644 index 00000000..0639198f --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/models/definition_spec.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +describe Definition, type: :model do + describe 'Validation' do + before { create(:definition) } + + it { should validate_uniqueness_of(:word) } + it { should validate_presence_of(:word) } + it { should validate_presence_of(:description) } + end + + describe 'Association' do + it { should have_many(:users).through(:learned_words) } + it { should have_many(:learned_words).dependent(:destroy) } + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/models/learned_word_spec.rb b/Dzmitry-Monich/3/fasteng/spec/models/learned_word_spec.rb new file mode 100644 index 00000000..f9ae4dc6 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/models/learned_word_spec.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +describe LearnedWord, type: :model do + describe 'Association' do + it { should belong_to(:user) } + it { should belong_to(:definition) } + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/models/user_spec.rb b/Dzmitry-Monich/3/fasteng/spec/models/user_spec.rb new file mode 100644 index 00000000..a2899d56 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/models/user_spec.rb @@ -0,0 +1,104 @@ +# frozen_string_literal: true + +describe User, type: :model do + describe 'Validation' do + before { create(:user) } + + it { should validate_uniqueness_of(:telegram_id).case_insensitive } + it { should validate_presence_of(:telegram_id) } + + it { should validate_numericality_of(:words_count).is_less_than_or_equal_to(6) } + it { should validate_numericality_of(:words_count).is_greater_than_or_equal_to(1) } + end + + describe 'Association' do + it { should have_many(:definitions).through(:learned_words) } + it { should have_many(:learned_words).dependent(:destroy) } + end + + describe 'Methods' do + let(:schedule_count) { 3 } + + describe '#add_schedule' do + let(:user) { create(:user, status: 'registered') } + + before { Timecop.freeze(2021, 4, 20, 22) } + + it 'adds schedule to user' do + user.add_schedule(schedule_count) + + expect(User.find(user.id)).to have_attributes( + status: 'scheduled', + words_count: 3 + ) + end + end + + describe '#receive_definition!' do + let(:user) { create(:user, status: 'scheduled', words_count: schedule_count) } + let(:definition) { create(:definition) } + + it 'adds word to already sent' do + expect { user.receive_definition!(definition) }.to change(LearnedWord, :count).from(0).to(1) + end + + it 'updates user' do + user.receive_definition!(definition) + + expect(User.find(user.id)).to have_state(:waiting) + expect(user.learned_words.first.id).to eq user.id + end + end + + describe '#upcoming_time_equal?' do + let(:user) { create(:user, status: 'scheduled', words_count: schedule_count) } + + context 'when actual time equal to schedule time' do + let(:time) { Timecop.freeze(2021, 4, 20, 21).hour } + + it 'returns true' do + expect(user).to be_upcoming_time_equal(time) + end + end + + context 'when actual time not equal to schedule time' do + let(:time) { Timecop.freeze(2021, 4, 20, 20).hour } + + it 'returns false' do + expect(user).not_to be_upcoming_time_equal(time) + end + end + end + + describe '#miss_time?' do + let(:user) { create(:user, status: 'waiting', words_count: schedule_count) } + + context 'when actual time equal missed time' do + let(:time) { Timecop.freeze(2021, 4, 20, 17).hour } + + it 'returns true' do + expect(user).to be_miss_time(time) + end + end + + context 'when actual time not equal missed time' do + let(:time) { Timecop.freeze(2021, 4, 20, 20).hour } + + it 'returns false' do + expect(user).not_to be_miss_time(time) + end + end + end + end + + describe 'AASM' do + let(:user) { build(:user) } + + it 'transitions look good' do + expect(user).to transition_from(:new).to(:registered).on_event(:register) + expect(user).to transition_from(:registered).to(:scheduled).on_event(:init_schedule) + expect(user).to transition_from(:scheduled).to(:waiting).on_event(:get_word) + expect(user).to transition_from(:waiting).to(:scheduled).on_event(:learn_word) + end + end +end diff --git a/Dzmitry-Monich/3/fasteng/spec/spec_helper.rb b/Dzmitry-Monich/3/fasteng/spec/spec_helper.rb new file mode 100644 index 00000000..5275e749 --- /dev/null +++ b/Dzmitry-Monich/3/fasteng/spec/spec_helper.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +require 'shoulda/matchers' +require 'factory_bot' +require 'database_cleaner/active_record' +require 'whenever/test' +require 'timecop' +require 'faker' +require 'aasm/rspec' + +require 'fasteng' + +Dir["#{Fasteng.root_path}/models/**/*.rb"].sort.each { |file| require file } + +env = 'test' +configuration = YAML.load_file(Fasteng.root_path.join('db/config.yml')) +ActiveRecord::Base.establish_connection(configuration[env]) +load Fasteng.root_path.join('db/schema.rb') + +RSpec.configure do |config| + config.expect_with :rspec do |expectations| + expectations.include_chain_clauses_in_custom_matcher_descriptions = true + end + + config.mock_with :rspec do |mocks| + mocks.verify_partial_doubles = true + end + + config.shared_context_metadata_behavior = :apply_to_host_groups + + config.include FactoryBot::Syntax::Methods + config.include(Shoulda::Matchers::ActiveRecord, type: :model) + config.include(Shoulda::Matchers::ActiveModel, type: :model) + + config.before(:suite) do + DatabaseCleaner.strategy = :truncation + DatabaseCleaner.clean_with(:truncation) + FactoryBot.find_definitions + end + + config.around(:each) do |example| + DatabaseCleaner.cleaning { example.run } + end +end + +Shoulda::Matchers.configure do |config| + config.integrate do |with| + with.test_framework :rspec + with.library :active_record + with.library :active_model + end +end