aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/Coder.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-11-04 11:30:14 +0100
committerMartin Odersky <odersky@gmail.com>2013-11-04 11:32:12 +0100
commitbfc7c25bda04697463a36b9eb278e00407895a53 (patch)
tree92f8bc49bd59bf98d604fb29b8d98c04588173e7 /tests/pos/Coder.scala
parentab95d83444c6397f8859713dd6606602c77c8d23 (diff)
downloaddotty-bfc7c25bda04697463a36b9eb278e00407895a53.tar.gz
dotty-bfc7c25bda04697463a36b9eb278e00407895a53.tar.bz2
dotty-bfc7c25bda04697463a36b9eb278e00407895a53.zip
Fallback to old treatement of tuples.
For interoperability we will keep for the time being the traditional treatment of tuples as instances of Tuple 2… Tuple 22. The new hlist-like treatment will be done in a future step. The flip is controlled by variable "unboxedPairs".
Diffstat (limited to 'tests/pos/Coder.scala')
-rw-r--r--tests/pos/Coder.scala41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/pos/Coder.scala b/tests/pos/Coder.scala
new file mode 100644
index 000000000..62ceebe80
--- /dev/null
+++ b/tests/pos/Coder.scala
@@ -0,0 +1,41 @@
+import collection.mutable.HashMap
+
+class Coder(words: List[String]) {
+
+ (2 -> "ABC", new ArrowAssoc('3') -> "DEF")
+
+ private val mnemonics = Map(
+ '2' -> "ABC", '3' -> "DEF", '4' -> "GHI", '5' -> "JKL",
+ '6' -> "MNO", '7' -> "PQRS", '8' -> "TUV", '9' -> "WXYZ")
+
+ /** Invert the mnemonics map to give a map from chars 'A' ... 'Z' to '2' ... '9' */
+ private val charCode: Map[Char, Char] = mnemonics flatMap { ds =>
+ val digit = ds._1
+ val str = ds._2
+ str map (ltr => ltr -> digit)
+ }
+
+// for ((digit, str) <- mnemonics; ltr <- str) yield ltr -> digit
+
+ /** Maps a word to the digit string it can represent */
+ private def wordCode(word: String): String = ???
+
+ /** A map from digit strings to the words that represent them */
+ private val wordsForNum: Map[String, List[String]] = ???
+
+ /** All ways to encode a number as a list of words */
+ def encode(number: String): Set[List[String]] = ???
+
+ /** Maps a number to a list of all word phrases that can represent it */
+ def translate(number: String): Set[String] = encode(number) map (_ mkString " ")
+
+}
+/*
+/** Test code */
+object Coder {
+ def main(args : Array[String]) : Unit = {
+ val coder = new Coder(List("Scala", "sobls", "Python", "Ruby", "C", "A", "rocks", "sucks", "works", "Racka"))
+// println(coder.wordsForNum)
+ println(coder.translate("7225276257"))
+ }
+}*/