Mercurial > repos > other > SevenLanguagesInSevenWeeks
view 1-Ruby/logic-irb.output @ 93:39084e2b8744
Add a function for word-aware text wrapping
Potentially hugely inefficient because we iterate through the
string character by character, but then splitting it first and
iterating over words still needs to iterate over the string to
know where to split.
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 18 Jun 2019 21:05:00 +0100 |
parents | e5b84cc7bc29 |
children |
line wrap: on
line source
logic.rb(main):001:0> #! /usr/bin/env ruby logic.rb(main):002:0* logic.rb(main):003:0* x = 4 => 4 logic.rb(main):004:0> logic.rb(main):005:0* # "if" block is "if… end" - no "then" required logic.rb(main):006:0* if x == 4 logic.rb(main):007:1> puts "x equals 4" logic.rb(main):008:1> end x equals 4 => nil logic.rb(main):009:0> logic.rb(main):010:0* # Python- and Perl-like following logic also works logic.rb(main):011:0* puts "x equals 4" if x == 4 x equals 4 => nil logic.rb(main):012:0> puts "x equals 4" unless x != 4 x equals 4 => nil logic.rb(main):013:0> logic.rb(main):014:0* # Negation has many forms. logic.rb(main):015:0* # Simple logic: logic.rb(main):016:0* if x != 5 logic.rb(main):017:1> puts "x not equal 5" logic.rb(main):018:1> end x not equal 5 => nil logic.rb(main):019:0> logic.rb(main):020:0* # Two options on negation logic.rb(main):021:0* if !(x == 5) logic.rb(main):022:1> puts "x not equal 5" logic.rb(main):023:1> end x not equal 5 => nil logic.rb(main):024:0> logic.rb(main):025:0* if not x == 5 logic.rb(main):026:1> puts "x not equal 5" logic.rb(main):027:1> end x not equal 5 => nil logic.rb(main):028:0> logic.rb(main):029:0* # "unless" blocks instead of "if" logic.rb(main):030:0* unless x != 4 logic.rb(main):031:1> puts "x equal 4" logic.rb(main):032:1> else logic.rb(main):033:1* puts "x not equals 4" logic.rb(main):034:1> end x equal 4 => nil logic.rb(main):035:0> logic.rb(main):036:0* # "then" is optional, except in single line statement logic.rb(main):037:0* if x == 4 then puts "x equal 4" end x equal 4 => nil logic.rb(main):038:0> if x == 4 then logic.rb(main):039:1* puts "x equal 4" logic.rb(main):040:1> end x equal 4 => nil logic.rb(main):041:0> if x == 4 logic.rb(main):042:1> puts "x equal 4" logic.rb(main):043:1> end x equal 4 => nil logic.rb(main):044:0> # The following line gives: logic.rb(main):045:0* # logic.rb:…: syntax error, unexpected tIDENTIFIER, expecting keyword_then or ';' or '\n' logic.rb(main):046:0* # if x == 4 puts "x equal 4" end logic.rb(main):047:0* # logic.rb(main):048:0* # if x == 4 puts "x equal 4" endlogic.rb(main):048:0# logic.rb(main):048:0# logic.rb(main):048:0# => nil