https://speakerdeck.com/gwengrid/keep-calm-and-type-erase-on
Step-By-Step, writing a type-erased wrapper class by Hector Matos
Why?! No type parameters on generic protocols pt 1 pt 2 by Russ Bishop
#! python | |
import random | |
def print_board(board, size): | |
for j in range(0, size): | |
marker = "" | |
for i in range(0, size): | |
saved = board.get((i, j)) | |
if saved: | |
marker += saved + " " |
https://speakerdeck.com/gwengrid/keep-calm-and-type-erase-on
Step-By-Step, writing a type-erased wrapper class by Hector Matos
Why?! No type parameters on generic protocols pt 1 pt 2 by Russ Bishop
#! python | |
for i in range(1, 101): | |
string = "" | |
if i % 3 == 0: | |
string += "Crackle" | |
if i % 5 == 0: | |
string += "Pop" | |
if not len(string): | |
string += str(i) |
class Thunder { } | |
class Fire { } | |
protocol Pokemon { | |
typealias PokemonType | |
func attack(move:PokemonType) | |
} | |
struct Pikachu: Pokemon { | |
typealias PokemonType = Thunder |
#!/usr/bin/env python | |
from models.project impport Project | |
all_projects = Project().find() | |
for project in all_projects: | |
for sheet in project: | |
upload_group = Upload().find('uid':sheet['upload']) | |
change_set = get_change_set(publish_date, order) | |
if not change_set: |