clojure.string$fn__12645.class Maven / Gradle / Ivy
???? 1 d clojure/string$fn__12645 clojure/lang/AFunction
string.clj ()V
invokeStatic ()Ljava/lang/Object; const__2 Lclojure/lang/Var;
clojure/core$deref &(Ljava/lang/Object;)Ljava/lang/Object;
const__3
clojure/lang/Var
getRawRoot
java/lang/Object const__4 Lclojure/lang/AFn; ! clojure/lang/ArraySeq # create ,([Ljava/lang/Object;)Lclojure/lang/ArraySeq; % &
$ ' clojure/core$commute ) K(Ljava/lang/Object;Ljava/lang/Object;Lclojure/lang/ISeq;)Ljava/lang/Object;
+
* , invoke
/ clojure.core 2
*loaded-libs* 4 clojure/lang/RT 6 var 8(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; 8 9
7 : conj < clojure.string > clojure/lang/Symbol @ intern ;(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; B C
A D clojure/lang/IObj F doc H keyword <(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; J K
7 L?Clojure String utilities
It is poor form to (:use clojure.string). Instead, use require
with :as to specify a prefix, e.g.
(ns your.namespace.here
(:require [clojure.string :as str]))
Design notes for clojure.string:
1. Strings are objects (as opposed to sequences). As such, the
string being manipulated is the first argument to a function;
passing nil will result in a NullPointerException unless
documented otherwise. If you want sequence-y behavior instead,
use a sequence.
2. Functions are generally not lazy, and call straight to host
methods where those are available and efficient.
3. Functions take advantage of String implementation details to
write high-performing loop/recurs instead of using higher-order
functions. (This is not idiomatic in general-purpose application
code.)
4. When a function is documented to accept a string argument, it
will take any implementation of the correct *interface* on the
host platform. In Java, this is CharSequence, which is more
general than String. In ordinary usage you will almost always
pass concrete strings. If you are doing something unusual,
e.g. passing a mutable implementation of CharSequence, then
thread-safety is your responsibility. N author P ,Stuart Sierra, Stuart Halloway, David Liebke R map 2([Ljava/lang/Object;)Lclojure/lang/IPersistentMap; T U
7 V clojure/lang/IPersistentMap X withMeta 2(Lclojure/lang/IPersistentMap;)Lclojure/lang/IObj; Z [ G \ clojure/lang/AFn ^ Code LineNumberTable
SourceFile SourceDebugExtension 1
` *? ? a
` 5 ? ? ? ? ? Y? "S? (? -? a . ` ? 0? a 1 ` m U35? ;? ? 3=? ;? ? ?? E? G? YI? MSYOSYQ? MSYSS? W? Y? ] ? _? "? a b c WSMAP
string.java
Clojure
*S Clojure
*F
+ 1 string.clj
clojure/string.clj
*L
1#1,44:1
*E