Skip to content

Instantly share code, notes, and snippets.

(ns run-length-encoding)
;; Combinators
(defn matches [predicate]
(fn [input]
(if (not (empty? input))
(let [[head & tail] input]
(if (predicate head) [head (apply str tail)])))))
(defn mmap [func parser]
use std::sync::{Mutex, Arc};
use std::thread;
fn main() {
let counter = Arc::new(Mutex::new(0));
let mut handles = vec![];
for _ in 0..10 {
let counter = Arc::clone(&counter);
let handle = thread::spawn(move || {
fn main() {
println!("Hello, world!");
}
// Consumes value, returns nothing (cannot be assigned)
fn eat_it(c: Cake) {}
// Consumes value, returns another **different** value
fn recycle(c: Cake) -> Cake {}
// Reads value. Nothing more.
fn look_at(c: &Cake) {}
// Changes the cake we pass into it.
@Haniyya
Haniyya / main.rb
Last active July 9, 2018 09:05 — forked from coorasse/main.rb
CanCanCan Issue
begin
require 'bundler/inline'
rescue LoadError => e
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end
gemfile(true) do
source 'https://rubygems.org'
gem 'rails', '5.1.0' # use correct rails version
require 'active_support/inflector'
require 'benchmark'
class James
end
class John
end
class Jimmy
enum = Enumerator.new do |yielder|
n = 0
loop do
yielder << n
n += 1
end
end
# Take creates a new Array
enum.take(10) #=> [0,1,2,3,4,5,6,7,8,9]