Search Results

Search found 2800 results on 112 pages for 'scala is awesome'.

Page 15/112 | < Previous Page | 11 12 13 14 15 16 17 18 19 20 21 22  | Next Page >

  • Enhance Predfined Methods in Scala

    - by fratnk
    Base question: Why can I write in Scala just: println(10) Why don't I need to write: Console println(10) Followup question: How can I introduce a new method "foo" which is everywhere visible and usable like "println"?

    Read the article

  • What's the difference between these two calls to a function taking a collection of structural types?

    - by James Moore
    Why does the call to fn(Iterator("foo") compile, but the call to fn(fooIterator) fail with an error "type mismatch; found : Iterator[java.lang.String] required: scala.Iterator[com.banshee.Qx.HasLength]" object Qx { type HasLength = {def length: Int} def fn(xs: Iterator[HasLength]) = 3 var tn = fn(Iterator("foo")) var fooIterator = Iterator("foo") var tnFails = fn(fooIterator) //doesn't compile } Aren't they the same thing?

    Read the article

  • What is a "context bound"?

    - by Jesper
    One of the new features of Scala 2.8 are context bounds. What is a context bound and where is it useful? Of course I searched first (and found for example this) but I couldn't find any really clear and detailed information.

    Read the article

  • Don't understand the typing of Scala's delimited continuations (A @cps[B,C])

    - by jkff
    I'm struggling to understand what precisely does it mean when a value has type A @cps[B,C] and what types of this form should I assign to my values when using the delimited continuations facility. I've looked at some sources: http://lamp.epfl.ch/~rompf/continuations-icfp09.pdf http://www.scala-lang.org/node/2096 http://dcsobral.blogspot.com/2009/07/delimited-continuations-explained-in.html http://blog.richdougherty.com/2009/02/delimited-continuations-in-scala_24.html but they didn't give me much intuition into this. In the last link, the author tries to give an explicit explanation, but it is not clear enough anyway. The A here represents the output of the computation, which is also the input to its continuation. The B represents the return type of that continuation, and the C represents its "final" return type—because shift can do further processing to the returned value and change its type. I don't understand the difference between "output of the computation", "return type of the continuation" and "final return type of the continuation". They sound like synonyms.

    Read the article

  • Which Java-specific annoyance fixed in Scala reduces surprises like the ones discussed in Java Puzzl

    - by soc
    Example: In Java this code falls through and prints "Mhhh..." Integer i = new Integer(1); Integer j = new Integer(1); if (i == j) { System.out.println("Equal"); } else if (i < j) { System.out.println("Smaller"); } else if (i > j) { System.out.println("Bigger"); } else {System.out.println("Mhhh...");} In Scala the equivalent code does not even compile: val a = new Integer(1) val b = new Integer(1) println { if(a == b) "Equal" else if(a < b) "Smaller" else if (a > b) "Bigger" else "Mhhh..."}

    Read the article

  • Scala: working around the "illegal cyclic reference"

    - by Paul Milovanov
    Hi all, I'm trying to implement a HashMap-based tree that'd support O(1) subtree lookup for a given root key. To that goal, I'm trying to do the following: scala> type Q = HashMap[Char, Q] <console>:6: error: illegal cyclic reference involving type Q type Q = HashMap[Char, Q] ^ So the question is, is there a way for me to do something of the sort without resorting to the ugly HashMap[Char, Any] with subsequent casting of values to HashMap[Char, Any]? Now, I also see that I can use something like the following to avoid the cyclic-reference error, and it might even be cleaner -- but it'd be nice to find out how to correctly do it the first way, just for the educational value. import collections.mutable.HashMap class LTree { val children = new HashMap[Char, LTree] } Thanks a bunch.

    Read the article

  • ZeroC Ice "checked casts" in Scala

    - by Alexey Romanov
    ZeroC Ice for Java translates every Slice interface Simple into (among other things) a proxy interface SimplePrx and a proxy SimplePrxHelper. If I have an ObjectPrx (the base interface for all proxies), I can check whether it actually has interface Simple by using a static method on SimplePrxHelper: val obj : Ice.ObjectPrx = ...; // Get a proxy from somewhere... val simple : SimplePrx = SimplePrxHelper.checkedCast(obj); if (simple != null) // Object supports the Simple interface... else // Object is not of type Simple... I wanted to write a method castTo so that I could replace the second line with val simple = castTo[SimplePrx](obj) or val simple = castTo[SimplePrxHelper](obj) So far as I can see, Scala's type system is not expressive enough to allow me to define castTo. Is this correct?

    Read the article

  • Error after installing scala plugin of netbeans

    - by ghedas
    I installed the scala plugin on my netbeans and followed the instruction of this page: http://wiki.netbeans.org/Scala68v1#Scala_Plugins_for_NetBeans_6.8_v1.x_.28RC2.29 but after it completed correctly step by step, when I make an empty project (Hello world!), the project has an error! The empty project is here: package scalaapplication1 object Main { /** * @param args the command line arguments */ def main(args: Array[String]): Unit = { println("Hello, world!") } } and the console error report is: ...\NetBeansProjects\ScalaApplication2\nbproject\build-impl.xml:403: The following error occurred while executing this line: ...\NetBeansProjects\ScalaApplication2\nbproject\build-impl.xml:236: scalac doesn't support the "fork" attribute Is there any suggestion about it?!

    Read the article

  • Multiple return points in scala closure/anonymous function

    - by Debilski
    As far as I understand it, there is no way in Scala to have multiple return points in an anonymous function, i.e. someList.map((i) => { if (i%2 == 0) return i // the early return allows me to avoid the else clause doMoreStuffAndReturnSomething(i) }) raises an error: return outside method definition. (And if it weren’t to raise that, the code would not work as I’d like it to work.) One workaround I could thing of would be the following someList.map({ def f(i: Int):Int = { if (i%2 == 0) return i doMoreStuffAndReturnSomething(i) } f }) however, I’d like to know if there is another ‘accepted’ way of doing this. Maybe a possibility to go without a name for the inner function? (A use case would be to emulate some valued continue construct inside the loop.)

    Read the article

  • Advanced control of recursive parser in scala

    - by Jeriho
    val uninterestingthings = ".".r val parser = "(?ui)(regexvalue)".r | (uninterestingthings~>parser) This recursive parser will try to parse "(?ui)(regexvalue)".r until the end of input. Is in scala a way to prohibit parsing when some defined number of characters were consumed by "uninterestingthings" ? UPD: I have one poor solution: object NonRecursiveParser extends RegexParsers with PackratParsers{ var max = -1 val maxInput2Consume = 25 def uninteresting:Regex ={ if(max<maxInput2Consume){ max+=1 ("."+"{0,"+max.toString+"}").r }else{ throw new Exception("I am tired") } } lazy val value = "itt".r def parser:Parser[Any] = (uninteresting~>value)|parser def parseQuery(input:String) = { try{ parse(parser, input) }catch{ case e:Exception => } } } Disadvantages: - not all members are lazy vals so PackratParser will have some time penalty - constructing regexps on every "uninteresting" method call - time penalty - using exception to control program - code style and time penalty

    Read the article

  • Is there a good reflection library available for Scala?

    - by Erik Engbrecht
    I'm working on a library that needs reflection, and needs Scala-specific information as opposed to what is available via the standard Java reflection API. Right now I'm using the undocumented code in scalap (the Scala equivalent to javap) and trying to associate the data it provides with Java reflection objects so that I can call methods and such (scalap just parses class files). I found this but there's nothing there... https://github.com/dubochet/scala-reflection ...and I've searched the Scala SVN repo for traces of it and failed to find it there, either (but it could be I just missed it). Does anyone know of a Scala reflection library that provides information similar to what scalap provides but also allows you to call methods, access fields, etc like the Java reflection library?

    Read the article

  • How to get methods list in scala

    - by skyde
    In language like python and ruby to ask the language what index-related methods its string class supports (which methods’ names contain the word “index”) you can do “”.methods.sort.grep /index/i And in java List results = new ArrayList(); Method[] methods = String.class.getMethods(); for (int i = 0; i < methods.length; i++) { Method m = methods[i]; if (m.getName().toLowerCase().indexOf(“index”) != -1) { results.add(m.getName()); } } String[] names = (String[]) results.toArray(); Arrays.sort(names); return names; How would you do the same thing in Scala?

    Read the article

  • Lexing newlines in scala StdLexical?

    - by Nick Fortescue
    I'm trying to lex (then parse) a C like language. In C there are preprocessor directives where line breaks are significant, then the actual code where they are just whitespace. One way of doing this would be do a two pass process like early C compilers - have a separate preprocessor for the # directives, then lex the output of that. However, I wondered if it was possible to do it in a single lexer. I'm pretty happy with writing the scala parser-combinator code, but I'm not so sure of how StdLexical handles whitespace. Could someone write some simple sample code which say could lex a #include line (using the newline) and some trivial code (ignoring the newline)? Or is this not possible, and it is better to go with the 2-pass appproach?

    Read the article

  • what is wrong: "value Parsers is not a member of package scala.util.parsing.combinator"?

    - by Nick Fortescue
    I've got the above odd error message that I don't understand "value Parsers is not a member of package scala.util.parsing.combinator". I'm trying to learn Parser combinators by writing a C parser step by step. I started at token, so I have the classes: import util.parsing.combinator.JavaTokenParsers object CeeParser extends JavaTokenParsers { def token: Parser[CeeExpr] = ident } abstract class CeeExpr case class Token(name: String) extends CeeExpr This is as simple as I could make it. The code below works fine, but if I uncomment the commented line I get the error message given above: object Play { def main(args: Array[String]) { //val parser: _root_.scala.util.parsing.combinator.Parsers.Parser[CeeExpr] CeeParser.token val x = CeeParser.token print(x) } } In case it is a problem with my setup, I'm using scala 2.7.6 via the scala-plugin for intellij. Can anyone shed any light on this? The message is wrong, Parsers is a member of scala.util.parsing.combinator.

    Read the article

  • Repeating a List in Scala

    - by Ralph
    I am a Scala noob. I have decided to write a spider solitaire solver as a first exercise to learn the language and functional programming in general. I would like to generate a randomly shuffled deck of cards containing 1, 2, or 4 suits. Here is what I came up with: val numberOfSuits = 1 (List["clubs", "diamonds", "hearts", "spades"].take(numberOfSuits) * 4).take(4) which should return List["clubs", "clubs", "clubs", "clubs"] List["clubs", "diamonds", "clubs", "diamonds"] List["clubs", "diamonds", "hearts", "spades"] depending on the value of numberOfSuits, except there is no List "multiply" operation that I can find. Did I miss it? Is there a better way to generate the complete deck before shuffling? BTW, I plan on using an Enumeration for the suits, but it was easier to type my question with strings. I will take the List generated above and using a for comprehension, iterate over the suits and a similar List of card "ranks" to generate a complete deck.

    Read the article

  • Scala Tuple Deconstruction

    - by dbyrne
    I am new to Scala, and ran across a small hiccup that has been annoying me. Initializing two vars in parallel works great: var (x,y) = (1,2) However I can't find a way to assign new values in parallel: (x,y) = (x+y,y-x) //invalid syntax I end up writing something like this: val xtmp = x+y; y = x-y; x = xtmp I realize writing functional code is one way of avoiding this, but there are certain situations where vars just make more sense. I have two questions: 1) Is there a better way of doing this? Am I missing something? 2) What is the reason for not allowing true parallel assignment?

    Read the article

  • How do I set up Scala plugin for NetBeans to copy the Scala runtime library?

    - by Alexey Romanov
    Versions: NetBeans 6.8, Scala Kit 0.16.1 When I compile my project, I get the following output: init: deps-jar: Compiling 2 source files to F:\MyProgramming\NorvigSpellChecker\build\classes compile: Created dir: F:\MyProgramming\NorvigSpellChecker\dist Building jar: F:\MyProgramming\NorvigSpellChecker\dist\NorvigSpellChecker.jar Not copying the libraries. To run this application from the command line without Ant, try: java -jar "F:\MyProgramming\NorvigSpellChecker\dist\NorvigSpellChecker.jar" jar: BUILD SUCCESSFUL (total time: 3 seconds) Of course, the libraries should be copied, so I can't actually run it by using this command line. I don't see any options to copy the library in the project configuration. The plugin uses Ant for building, but I don't have any experience with it; presumably it should be easy enough to tell Ant to copy the libraries. Here is build-impl.xml, what should I do in build.xml?

    Read the article

  • How can I construct and parse a JSON string in Scala / Lift

    - by David Carlson
    I am using JsonResponse to send some JSON to the client. To test that I am sending the correct response it seemed natural to me to parse the resulting JSON and validate against a data structure rather than comparing substrings. But for some reason I am unable to parse the JSON I just constructed: def tryToParse = { val jsObj :JsObj = JsObj(("foo", "bar")); // 1) val jsObjStr :String = jsObj.toJsCmd // 2) jsObjStr is: "{'foo': 'bar'}" val result = JSON.parseFull(jsObjStr) // 3) result is: None // the problem seems to be caused by the quotes: val works = JSON.parseFull("{\"foo\" : \"bar\"}") // 4) result is: Some(Map(foo -> bar)) val doesntWork = JSON.parseFull("{'foo' : 'bar'}") // 5) result is: None } How do I programmatically construct a valid JSON message in Scala/Lift that can also be parsed again?

    Read the article

  • Type parameterization in Scala

    - by horatius83
    So I'm learning Scala at the moment, and I'm trying to create an abstract vector class with a vector-space of 3 (x,y,z coordinates). I'm trying to add two of these vectors together with the following code: package math class Vector3[T](ax:T,ay:T,az:T) { def x = ax def y = ay def z = az override def toString = "<"+x+", "+y+", "+z+">" def add(that: Vector3[T]) = new Vector3(x+that.x, y+that.y, z+that.z) } The problem is I keep getting this error: error: type mismatch; found : T required: String def add(that: Vector3[T]) = new Vector3(x+that.x, y+that.y, z+that.z) I've tried commenting out the "toString" method above, but that doesn't seem to have any effect. Can anyone tell me what I'm doing wrong?

    Read the article

  • OpenSSL compatible API for Scala?

    - by pfleidi
    Hello, I'm working on a project with a friend. He's implementing his software in Ruby and I'm doing my stuff in Scala (with Lift). We're using some asynchronous encryption and he is using the ruby OpenSSL bindings for that: key = OpenSSL::PKey::RSA.generate(4096) self.public_key = key.public_key self.private_key = key What I'm looking for is a simple API which is compatible to OpenSSL and runs on the JVM. I need it to create key-pairs and to encrypt and sign our payload. Do you have any suggestions?

    Read the article

  • Internal scala compilation. Working with interactive.Global

    - by scout
    I am trying to retrieve the AST from scala souce file. I have simplified the code (only relevant code) to following. trait GetAST { val settings = new Settings val global = new Global(settings, new ConsoleReporter(settings)) def getSt = "hello" //global.typedTree(src, true) } object Tre extends GetAST { def main(args:Array[String]) { println(getSt.getClass) println("exiting program") } } The above code compiles fine and runs fine. But the problem is the program does not exit. The prompt is not displayed after printing "exiting program". I have to use ^c to exit. Any idea what the problem might be

    Read the article

  • Mapping over multiple Seq in Scala

    - by bsdfish
    Suppose I have val foo : Seq[Double] = ... val bar : Seq[Double] = ... and I wish to produce a seq where the baz(i) = foo(i) + bar(i). One way I can think of to do this is val baz : Seq[Double] = (foo.toList zip bar.toList) map ((f: Double, b : Double) => f+b) However, this feels both ugly and inefficient -- I have to convert both seqs to lists (which explodes with lazy lists), create this temporary list of tuples, only to map over it and let it be GCed. Maybe streams solve the lazy problem, but in any case, this feels like unnecessarily ugly. In lisp, the map function would map over multiple sequences. I would write (mapcar (lambda (f b) (+ f b)) foo bar) And no temporary lists would get created anywhere. Is there a map-over-multiple-lists function in Scala, or is zip combined with destructuring really the 'right' way to do this?

    Read the article

  • Scala create xhtml elements dynamically

    - by portoalet
    Given a String array val www = List("http://bloomberg.com", "http://marketwatch.com"); I want to dynamically generate <span id="span1">http://bloomberg.com</span> <span id="span2">http://marketwatch.com</span> def genSpan(web: String) = <span id="span1"> + web + </span>; www.map(genSpan); // How can I pass the loop index? How can I use scala map function to generate the ids (span1, span2), as 1 and 2 are the loop indexes ? Or is the only way is to use for comprehension?

    Read the article

< Previous Page | 11 12 13 14 15 16 17 18 19 20 21 22  | Next Page >