Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

How to get a default value from an assoc in Factor programming language

+1
−0

To get a value from an assoc and provide a default value if the value does not exist, I am using the following definition:

:: at-def ( key assoc default -- value ) key assoc ?at [ drop default ] when ;

Is there a more specialized word to do this? (or a different class to use?)

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

1 answer

+2
−0
: at-default ( default key assoc -- value/default )
    at* [ nip ] [ drop ] if ; inline

100 1 H{ { 1 2 } } at-default .
2

100 10 H{ { 1 2 } } at-default .
100

You can also just do this:

H{ { 1 2 } } 1 of [ 100 ] unless* .
2

H{ { 1 2 } } 10 of [ 100 ] unless* .
100


H{ { 1 2 } } 1 of 100 or .
2

H{ { 1 2 } } 10 of 100 or .
100
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »