CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 16:45:17 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"5f0dc3d232265dfd7360787debc1c0bd"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=7AskxLZcTS1rXu6qQZLdNI%2Fmt50My9ivQY9DoSHZO5u6zQN67%2FefYMjXt4vFkja9lQpMAkxTpBmtZDh%2BAIhxuyHgqIDmkR6%2FNC0HJ0vgoslncjfiYCmvBWjzi%2FIgWJxlbkZCLE3qHl8x7tgYxI7HM%2BjquSBufwE2aKpohtNbRczPj%2B%2B2kYclRglTFlLrDYUk1ZD63Rz%2Bun%2FiZsO%2BPBwkECWJG6v7VRQu6HeoLaZjOzeqWq5uQyLhZsfWfqUmplchPVf%2B357YGk5Ppe5xTA39Tg%3D%3D--NUdFwlIIiYUCOwmA--%2FY5MpiOwh0csACoI%2Be3Kyg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1282967253.1753289117; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 16:45:17 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 16:45:17 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: AC2C:394F4C:ECFF7D:1180CED:6881119D
ExSwift · pNre/ExSwift Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
This repository was archived by the owner on Mar 29, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 314
ExSwift
pNre edited this page Jun 21, 2014
·
4 revisions
The following methods are defined as static
on the class ExSwift
.
#Methods
###after
after <P, T> (n: Int, call: (P...) -> T) -> ((P...) -> T?)
after <T> (n: Int, call: Void -> T) -> (Void -> T?)
Creates a wrapper that, executes
function
only after being calledn
times.
let f = ExSwift.after(2, { println("Ciao") })
f()
// →
f()
// →
f()
// → Ciao
f()
// → Ciao
###once
once <P, T> (call: (P...) -> T) -> ((P...) -> T?)
once <T> (call: Void -> T) -> (Void -> T?)
Creates a wrapper that, when called for the first time (only) invokes
function
.
let greet = ExSwift.once { (names: String...) -> () in println("Hello " + names[0]) }
greet("World")
// → Hello World
greet("People")
// →
###partial
partial <P, T> (function: (P...) -> T, _ parameters: P...) -> ((P...) -> T)
Creates a wrapper that, when called, invokes
function
with any additional partial arguments prepended to those provided to the new function.
let add = {
(params: Int...) -> Int in
return params.reduce(0, { return $0 + $1 })
}
let add5 = ExSwift.partial(add, 5)
add5(10)
// → 15
add5(1, 2)
// → 8
###bind
bind <P, T> (function: (P...) -> T, _ parameters: P...) -> (Void -> T)
Creates a wrapper (without any parameter) that, when called, invokes
function
automatically passingparameters
as arguments.
let concat = {
(params: String...) -> String in
return params.implode(" ")!
}
let helloWorld = ExSwift.bind(concat, "Hello", "World")
helloWorld()
// → Hello World
###cached
cached <P, R> (function: (P...) -> R, hash: ((P...) -> P)) -> ((P...) -> R)
cached <P, R> (function: (P...) -> R) -> ((P...) -> R)
Creates a wrapper for
function
that caches the result offunction
's invocations.hash
, if specified, is the parameters based hashing function that computes the key used to store each result in the cache.
// Slow Fibonacci
func fib(params: Int...) -> Int {
let n = params[0]
if n <= 1 {
return n
}
return fib(n - 1) + fib(n - 2)
}
let fibonacci = Ex.cached(fib)
// This one is computed (fib is called 465 times)
fibonacci(12)
// The results is taken from the cache (fib is not called)
fibonacci(12)
Clone this wiki locally
You can’t perform that action at this time.